这是来自 Oracle JavaEE 6 教程文档的引用,用于在 JSF 2 中传递值表达式和方法表达式中的参数。
值表达式和方法表达式都支持参数。在以下示例中,它是来自 guessNumber 应用程序的修改标记,随机数作为参数提供,而不是从用户输入到方法调用:
<h:inputText value="#{userNumberBean.userNumber('5')}">
上面的例子使用了一个值表达式。
这是默认的:
<h:inputText value="#{userNumberBean.userNumber}">
豆类——
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')}">
它实际上会在运行时导致错误。
我的问题:我如何实现这一目标?