2

有没有办法在不使用托管属性的情况下将输入值作为操作参数传递?

IE

<h:form>        
    <h:inputText id="input" />  
    <h:commandButton action="#{someBean.doSome(input)}" />  
</h:form> 
4

1 回答 1

2

是的,它在表单提交期间已经处于 JSF 组件状态。只需通过属性将输入组件绑定到视图binding,该属性将引用一个UIInput实例,该实例又具有getValue()用于检索输入值的方法(以便您可以将其作为操作方法参数传递):

<h:form>        
    <h:inputText ... binding="#{input}" />  
    <h:commandButton ... action="#{someBean.doSome(input.value)}" />  
</h:form> 

然而,这种方法的正确性是非常值得怀疑的,并且取决于具体的功能要求。这种方法基本上是将视图与模型紧密耦合,因此被认为是一种不好的做法。

也可以看看:

于 2013-08-20T17:04:09.877 回答