- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 URL
这样 http:/myDomain/ myWAR/myServletReceiver
我不希望最终用户知道我的 WAR 文件名和 Servlet 接收器名称。所以,我想我会将这个 URL 个性化为 http://myDomain/ 之类的东西。我的账户 .
我在下面添加了一段代码来实现这一点。
创建了我自己的包。代码如下。
package myOwnPackage
import javax.el.ExpressionFactory;
import javax.el.ValueExpression;
import javax.faces.application.ViewHandler;
import javax.faces.context.FacesContext;
import com.sun.facelets.FaceletViewHandler;
public class DynamicViewHandler extends FaceletViewHandler{
public DynamicViewHandler(ViewHandler parent) {
super(parent);
System.out.println("Entered into DynamicViewHandler");
}
public String getActionURL(FacesContext context, String viewId) {
System.out.println("Inside getActionURL");
ExpressionFactory expressionFactory = context.getApplication().getExpressionFactory();
ValueExpression valueExpression = expressionFactory.createValueExpression(context.getELContext(), viewId, String.class);
String result = (String) valueExpression.getValue(context.getELContext());
System.out.println("Value of Result is:" +result);
//I am in the beginning steps and just want to print the value of "result" for each response
return result;
}
}
faces-config.xml
注册了这个
<application>
<view-handler>myOwnPackage.FaceletViewHandler</view-handler>
<state-manager>org.jboss.portletbridge.application.PortletStateManager</state-manager>
</application>
/jsp/html/index.xhtml
.
Entered into DynamicViewHandler
Value of Result is:/jsp/html/index.xhtml
index.jsf
中还有其他链接页。当我单击其他链接时,我在浏览器上收到以下错误消息(而不是转到
/jsp/html/secondPage.jsf
)
http:/myDomain/jsp/html/index.html not found (404) error.
DynamicViewHandler
中遗漏了一些东西,
faces-config.xml
并且可能更多。
jsp/html/secondPage.jsf
至
/MyAccount
最佳答案
用于显示不同的 URL 而不是您的原始 URL。
方法一:
你有一个文件名pretty-config.xml。
使用此文件,您可以显示与真实补丁不同的 url。
例子:
通过这两行简单的配置,用户在浏览器 URL 和输出 HTML 中看到:pattern="/mySite/",但服务器实际上正在渲染资源:/faces/sites/mySite.jsf 的实际位置服务器上的页面。
您可以找到信息here http://ocpsoft.org/prettyfaces/
方法 2:作为 BalusC 对 SO 的建议
PrettyFaces 仅适用于 JSF。您需要 Rewrite (这仍然是测试版;现在 Tuckey's URLRewriteFilter 是最好的)
关于jsf-1.2 - 创建我自己的 ViewHandler 为进一步请求返回 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13974321/
这个问题在这里已经有了答案: java.lang.IllegalStateException: Illegal attempt to set ViewHandler after a response
在我的网络应用程序中,当 session 过期并且用户发起请求(完整页面或 AJAX)时,用户将被重定向到登录页面,并显示 session 已过期的消息。问题是,当登录页面保持打开的时间足够长以致 s
我一直在从 JSF 1.0 迁移到 JSF 2.2。 我在尝试运行我的应用程序时遇到以下错误: JSP Error page Illegal attempt to set ViewHandler af
我有一个 URL这样 http:/myDomain/ myWAR/myServletReceiver 我不希望最终用户知道我的 WAR 文件名和 Servlet 接收器名称。所以,我想我会将这个 UR
我使用 Ed Burns suggested custom exception handler每当发生特定异常时显示错误页面。我还尝试在上下文不活动时显示错误页面。然而,这部分(第 45./46. 行
我是一名优秀的程序员,十分优秀!