下面是我的代码:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>Guess Number</title>
</h:head>
<h:body>
The number I guessed is: #{guessNumber.generatedNumber}
<br />
<strong>Please guess the number I generated which is between 0 and 10!</strong>
<h:form target="index">
<h:commandButton type="submit" value="Guess The Number!"></h:commandButton>
</h:form>
</h:body>
</html>
那么在输出中我看到如下内容:
我猜的数字是:6请猜一下我生成的数字在0到10之间!
和文本下方的按钮。当我点击这个按钮时,页面会在一个新选项卡中打开。但是为什么呢?
这是由于<h:form>
中的target
属性造成的。注意,这是为纯HTML定义的,而不是类似jsf的特殊行为。
要解决问题,只需从<h:form>
中删除target
属性。