JSF отображает выражения EL в виде простого текста вместо оценочного значения - PullRequest
2 голосов
/ 03 апреля 2012

Я пытаюсь создать приложение JSF "Hello World". У меня есть бин с одним полем (String).

@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 ]

2 голосов
/ 03 апреля 2012

Это может произойти, если ваш web.xml объявлен в соответствии с Servlet 2.4 или старше, или если ваша папка /WEB-INF/lib загромождена специальными библиотеками servletcontainer, такими как el-api.jar и т. Д. Более старой версии.

Makeубедитесь, что корневая декларация web.xml соответствует как минимум Servlet 2.5 или, предпочтительно, самой высокой версии API сервлета, поддерживаемой вашим контейнером, и что папка /WEB-INF/lib не содержит каких-либо библиотек, специфичных для servletcontainer.

0 голосов
/ 03 апреля 2012

используйте h:outputtext для этой цели

...