JSF将EL表达式显示为纯文本而不是评估值

时间:2012-04-03 12:19:33

标签: java jsf el

我正在尝试创建一个“Hello World”JSF应用程序。 我有一个带有一个字段(String)的bean。

@ManagedBean (name = "beanTest")
@SessionScoped
public class BeanTest
{
    private String myString = "myString";
    public String getMyString()
    {
        return myString;
    }
    public void setMyString(String myString)
    {
        this.myString = myString;
    }
}

当我尝试在JSP页面中显示字符串值时

<h:outputLabel value="#{beanTest.myString}"/>

在网页中显示"#{beanTest.myString}"而不是"myString"

这是如何引起的?如何解决?

2 个答案:

答案 0 :(得分:2)

如果您的web.xml声明符合Servlet 2.4或更早版本,或者您的/WEB-INF/lib文件夹与旧版本的el-api.jar等servletcontainer特定库混杂在一起,则会发生这种情况。< / p>

确保web.xml根声明符合至少Servlet 2.5或最好符合容器支持的最高Servlet API版本,并且/WEB-INF/lib文件夹不包含任何servletcontainer特定库。

答案 1 :(得分:0)

为此目的使用h:outputtext