有没有办法使用EL来获取h:inputText字段的当前值?

时间:2009-08-31 22:40:11

标签: jsf seam el

我是JSF和EL的新手,并且想知道是否有办法使用EL来获取h:inputText字段的当前值。我做错了,还是可能的?

谢谢, -ben

2 个答案:

答案 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属性调用另一种方法。