这里是从Oracle的JavaEE 6教程文档在JSF 2.如何在JSF 2中的值表达式和方法表达式中传递参数?
参数传递参数值中的表达和方法表达都支持值表达式和方法表达的报价。在以下示例中,这是从guessNumber应用经修饰的标签,随机数被作为参数提供,而不是从用户输入到该方法调用:
<h:inputText value="#{userNumberBean.userNumber('5')}">
以上的例子使用一个值表达式。
而这是默认的一个:
<h:inputText value="#{userNumberBean.userNumber}">
Bean类 -
import java.util.Random;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean
@SessionScoped
public class UserNumberBean {
Integer randomInt = null;
Integer userNumber = null;
public UserNumberBean() {
Random randomGR = new Random();
randomInt = new Integer(randomGR.nextInt(10));
System.out.println("Duke's number: " + randomInt);
}
public void setUserNumber(Integer user_number) {
userNumber = user_number;
}
public Integer getUserNumber() {
return userNumber;
}
}
以下表达式不流通5作为一个参数到的inputText:
<h:inputText value="#{userNumberBean.userNumber('5')}">
它在运行时实际上会导致错误。
我的问题:我该如何做到这一点?
你的意思是按钮或commandButton? – exexzian 2012-08-15 18:44:09
不确定。我其实已经有很长一段时间没有使用JSF了。这应该不重要。 – jahroy 2012-08-15 19:16:39
不,我在IDE中检查它没有该按钮标记的动作属性,虽然commandButton确实有它,它的工作很好。所以,我想你应该相应地编辑它 – exexzian 2012-08-15 19:29:13