Primefaces获取输入值

时间:2015-08-03 13:02:52

标签: jsf jsf-2 primefaces

我有点问题。我想从我的输入区获取值,我正在小费,但它没有正确更新。 String值始终为null。

XHTML:

hmget

豆:

<!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"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">

<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Pragma" content="No-cache" />
<meta http-equiv="Cache-Control"
    content="no-store,No-cache,must-revalidate,post-check=0,pre-check=0,max-age=0" />
<meta http-equiv="Expires" content="-1" />
<link type="text/css" rel="stylesheet"
    href="#{request.contextPath}/resources/css/styles.css" />
<link rel="shortcut icon" href="#{resource['Icon.png']}"
    type="image/x-icon" />
<title>#{msg['title.index']}</title>
</h:head>
<h:body style="background:#f5f5f5;">
<h:form>
    <p:commandButton value="#{bean.button}"
        style="margin-left:10px;margin-top:10px;" />

    <p:inputTextarea value="#{bean.text}" autoResize="true"
        placeholder="#{msg['label.placeholder']}" rows="3" cols="90"
        style="margin-top:250px;margin-left:5px;">
    </p:inputTextarea>
</h:form>
</h:body>
</html>

看起来他似乎无法找到我的bean,因为我给出按钮的值在浏览器中正确显示。但是输入不起作用。 我已经使用过jsf,我从来没有遇到过通过bean传递值的问题。我的另一个项目是使用与此相同的方法,它的工作原理。但在这种情况下,我的输入不会转到bean。请帮助。

1 个答案:

答案 0 :(得分:0)

您必须提交bean的表单以获取值。否则表格永远不会发送。

因此,在命令按钮上添加一个动作,这是按下按钮时要调用的方法。

    <p:commandButton value="#{bean.button}"
        style="margin-left:10px;margin-top:10px;" action="#{bean.submit}" />

写入你的bean

 public void submit(){} 

您的方法可以包含您想要的任何内容。

有很好的jsf tutorial here那些是我曾经开始的(虽然我没有完成)。