JSF 不解析 # 标签

Posted

技术标签:

【中文标题】JSF 不解析 # 标签【英文标题】:JSF not parsing # tagsJSF 不解析 # 标签 【发布时间】:2012-08-12 09:50:19 【问题描述】:

我是 JSP/JSF 的新手,我的 JSP 遇到了问题。

我有几个类似这样的标签:

        <div class="summary">
            <h:outputText escape="false"
                          value="#FrequencyDistManagedBean.summary"/>
        </div>

但是当我在浏览器中查看 jsp 时,我得到了这个:

        <div class="summary">
            #FrequencyDistManagedBean.summary
        </div>

它解析 h:outputText 部分,但不解析散列/花括号部分。我为价值所付出的并不重要,它永远不会被解析。没有记录错误,它只是不起作用。我什至可以输入 #foo.bar (期望它会因某种错误而失败)并且没有任何区别。

我将 faces servlet 映射到 /faces/*(或任何默认值),我的 url 看起来像:http://www.mysite.com:8080/MyProject/faces/FrequencyDist.jsp(我正在运行 Tomcat 6,并使用 JSF 1.2)

我做错了什么?

【问题讨论】:

你能把你的面孔配置和 web xml 也发布出来 这种行为发生在您的所有 jsps 中还是仅在某些特定情况下?如果是第一种情况,如果您发布 web.xml 配置,我们可以提供帮助。如果没有,那么只需发布给您带来问题的 jsp 的sscce。 同意路易吉。贴个小例子,那就更好了 【参考方案1】:

根据this older SO question,将您的 web.xml 文件的版本更改为 2.5:

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5">

同时设置&lt;faces-config ... version="1.2"&gt;

谷歌搜索jsf not evaluating el expression将该链接放在搜索结果的顶部。


与您当前的问题无关,但您很快就会遇到这个问题:

验证您对控制器 bean 名称的使用;我指的是FrequencyDistManagedBean开头的大写F。默认情况下,bean 名称总是以小写字母开头。当您明确命名一个 bean 时,您应该遵循相同的约定。

【讨论】:

这里是:guestwho.com/java/web.xml guestwho.com/java/faces-config.xml 所有 JSP、所有标签都会发生这种情况。感谢您的帮助! 它不允许我在这里发布内容 您的链接确认了问题,这里的解决方案应该可以解决它。 谢谢,我在 faces-config 中添加了版本,但它不会部署:必须为元素类型“faces-config”声明属性“version”【参考方案2】:

没关系,删除 doctype 并将 faces-config 元素替换为:

<faces-config 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd" 
version="1.2">

你太棒了,非常感谢你的帮助!!

【讨论】:

以上是关于JSF 不解析 # 标签的主要内容,如果未能解决你的问题,请参考以下文章

JSF/Facelets:为啥将 JSF/Facelets 与 HTML 标签混合不是一个好主意?

来自 http://xmlns.jcp.org 命名空间的标签不呈现,而 http://java.sun.com/jsf 工作正常

有条件地在 JSF 组件标签中设置一个属性

Ajf事件中的JSF句柄异常

JSF 1.1:有条件地隐藏原始 HTML 和标签

如何在 JSF 中使用 Spring Security Facelets 标签库