我有与对这个问题:菜单项 - 使用PF 3.3.1,3.3.3 PrettyFaces和JSF/Mojarra2.1。号码:菜单项行动和行动处理重定向 - WINDOWID被钉在结束重定向URL
所以我有一组P的:需要通过从当前页面的“ID”参数的菜单项。但是,我不希望构建以下形式的URL:/ page/targetPage?id = id & faces-redirect = true。我想要做的是,在页面动作处理程序上,重定向到有问题的URL。但是,问题在于所产生的重定向会将windowId附加到最后,并且我无法访问targetURL!
<p:menuitem action="#{myActions.performAction}" ajax="false" value="navigateToThisAction"/>
在我的支持bean:
在我的faceletpublic String performAction() {
return navigate("pretty:myAction");
}
protected String navigate(String mappingId) {
HttpServletRequest request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
PrettyContext context = PrettyContext.getCurrentInstance(request);
PrettyURLBuilder builder = new PrettyURLBuilder();
UrlMapping mapping = context.getConfig().getMappingById(mappingId);
String targetURL = builder.build(mapping, true, getId());
try {
FacesContext.getCurrentInstance().getExternalContext().redirect(targetURL);
} catch (IOException ioe) {
System.out.println("Error redirecting..." + ioe.getMessage());
}
return null;
}
PS - 结果在浏览器中是一样的东西:HTTP://本地主机:年底(我觉得)我得到一个404 8080 /页/ myAction/10651 = WINDOWID公元前因为窗口的id没有发现?错误.... – Nena 2012-07-18 00:08:54
如果删除这个'WINDOWID ='在浏览器中手动你仍然得到404错误? –
2012-07-18 00:14:08
都能跟得上 - 它工作得很好...... – Nena 2012-07-18 00:17:05