【发布时间】:2010-07-30 13:45:29
【问题描述】:
我的问题是,例如当我这样做时
<h:outputLink value="changeinfo.jsf">
Change name
<f:param name="change" value="name"/>
</h:outputLink>
那么请求的url就是
http://localhost:45054/WMC/user/changeinfo.jsf?change=name
我的 faces servlet 的 url 模式如下所示
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
现在在 changeinfo 页面上
<f:verbatim rendered="#{'bean.param'} == 'name'">
NAME
<h:form id="form1">
...
</h:form>
</f:verbatim>
然后在生成的 html 页面上,我只看到 NAME 而不是表单。这是为什么呢?
【问题讨论】:
-
它应该可以正常工作。查询字符串根本不会在 url 模式匹配上进行测试。你的问题出在其他地方。什么 JSF 实现/版本?什么网络服务器实现/版本?您是否对 URL 进行了双重、不、三重检查?
-
该 url 与该模式匹配。所以你在其他地方有问题。检查日志。
-
您可能需要重新阐述“渲染”的含义。问题的模糊性可能就在那里。
-
它是 JSF 2.0 和 glassfish v3。现在我正在尝试制作一个导航案例,如 volothamp 答案中的链接。
-
我的意思是当我查看“已编译”的 html 页面时,像 等所有内容都消失了。该页面是空的。
标签: java web-applications jsf servlets mapping