inputText中有多个值? (JSF)

时间:2013-03-07 23:36:28

标签: java jsf

有没有办法将inputText的返回值与多个attrribute相关联?

像这样(它是一个示例,语法中不存在value1和value2标记属性):

<h:inputText id="matricula" 
             value1="#{alunoController.aluno.matricula}" 
             value2="#{alunoHasCursoController.alunoHasCurso.matricula}">
</h:inputText>

提前致谢!

3 个答案:

答案 0 :(得分:0)

也许只是将inputText值直接传递给bean方法(described here),在这个方法中你可以将它与多个变量/字段相关联。

答案 1 :(得分:0)

使用f:valueChangeListener将更改发送到第二个bean。

答案 2 :(得分:0)

<h:inputText
    value1="#{alunoController.aluno.matricula}" 
    value2="#{alunoHasCursoController.alunoHasCurso.matricula}">

为什么需要副本?这是糟糕的设计。 Java是面向对象的,允许您通过多个引用引用单个对象实例。

您只需要确保#{alunoHasCursoController.alunoHasCurso}完全引用同一个#{alunoController.aluno}实例。

E.g。

public class AlunoHasCursoController {

    @ManagedProperty("#{alunoController.aluno}")
    private Aluno alunoHasCurso;

    // ...
}

这样你就可以逃脱

<h:inputText
    value="#{alunoController.aluno.matricula}">

或者相反,取决于背景和功能要求。