0

我对 JSF 有一点问题,

我制作了简单的 JSF 页面来学习:

 <?xml version="1.0" encoding="UTF-8" ?>
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML      1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets"     xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html">
 <h:head>
   <title>register</title>
   <meta http-equiv="Content-Type"
content="application/xhtml+xml; charset=UTF-8" />
  </h:head>
  <h:body>
<h:form>
    <h:outputText value="Hello."/>
    <h:inputText value="#{login.name}"/> 
    <h:outputText value="Password"/>
    <h:inputText value="#{login.password}"/>

    <h:button value="Getgreeeting" outcome="welcome"/>
</h:form>




 </h:body>
 </html>

另一个页面显示插入到 bean 的值:

<?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML  1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html">
<h:head>
<title>welcome</title>
<meta http-equiv="Content-Type"
content="application/xhtml+xml; charset=UTF-8" />
</h:head>
<h:body>
<h:outputText value="#{login.name}"></h:outputText>
<h:outputText value="Yours password #{login.password}"></h:outputText>

 </h:body>
 </html>

我已经做了一些System.out.println()方法,它们表明只有我的 bean 中的 getter 有效。有人可以解释一下为什么吗?我的问题的解决方案是什么?

4

1 回答 1

1

<h:button>不是提交按钮。这是一个导航按钮。仔细查看您的书/教程/资源中的 Hello World 示例(如果您有任何 ..)。你需要一个<h:commandButton>代替。

也可以看看:

于 2013-09-16T11:00:28.537 回答