我是JSF和EL的新手,并且想知道是否有办法使用EL来获取h:inputText字段的当前值。我做错了,还是可能的?
谢谢, -ben
答案 0 :(得分:1)
我真的不明白你在找什么......
使用此代码:
<h:form id="myForm">
<h:inputText id="myInput" value="#{myBean.myValue}"/>
在创建HTML页面时,输入字段的值将等于bean myBean 的 myValue 属性的值。
如果用户更改了该值,JSF将在提交表单时自动更新 myBean.myValue 的值。
如果您需要在客户端获取输入值,即使用Javascript,则需要执行以下代码:
<script type="text/javascript">
function getInputTextValue() {
var valueOfInput = document.getElementById("myForm:myInput").value;
}
</script>
请注意,您必须在ID前面加上包含输入的表单的ID(“** myForm:** myInput”)。
答案 1 :(得分:1)
(根据您的评论)如果您想在服务器端验证它,那么您应该查看像Richfaces这样的Ajax库。
然后,您可以轻松地将ajax调用添加到输入字段
<h:inputText id="myInput" value="#{myBean.myValue}">
<a4j:support event="onchange" ajaxSingle="true"/>
</h:inputText>
当您更改文本时,Ajax调用将在服务器端更新您的模型。如果您有验证器,则可以将其添加到inputText标记,或使用support标记上的action属性调用另一种方法。