我从什么可以<f:metadata>,<f:viewParam>和<f:viewAction>开始?
我有一个预呈现视图事件监听器:
<f:metadata>
<f:event type="preRenderView" listener="#{loginBean.performWeakLogin()}" />
</f:metadata>
Run Code Online (Sandbox Code Playgroud)
它调用以下方法:
public String performWeakLogin() {
FacesContext facesContext = FacesContext.getCurrentInstance();
String parameter_value = (String) facesContext.getExternalContext().getRequestParameterMap().get("txtName");
if (parameter_value != null && parameter_value.equalsIgnoreCase("pippo")) {
try {
return "mainPortal";
} catch (IOException ex) {
return null;
}
} else {
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
和以下导航规则:
<navigation-rule>
<from-view-id>/stdPortal/index.xhtml</from-view-id>
<navigation-case>
<from-outcome>mainPortal</from-outcome>
<to-view-id>/stdPortal/stdPages/mainPortal.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
Run Code Online (Sandbox Code Playgroud)
但是,它不执行导航.它使用命令按钮时,如下所示:
<p:commandButton ... action="#{loginBean.performWeakLogin()}" />
Run Code Online (Sandbox Code Playgroud) 我在Tomcat7和JSF 2.1中使用OmniFaces FullAjaxExceptionHandler
来处理ViewExpiredException
.我设置了与OmniFaces展示相同的错误页面.在这里查看错误页面,这里是模板.
它工作正常.当会话过期时,我最终会出现expired.xhtml
错误页面.但是,当我单击错误页面中的以下链接时,
<p><a href="#{requestScope['javax.servlet.error.request_uri']}">Back to initial page.</a></p>
Run Code Online (Sandbox Code Playgroud)
然后我得到以下异常:
com.sun.faces.mgbean.ManagedBeanCreationException: An error occurred performing resource injection on managed bean
Run Code Online (Sandbox Code Playgroud)
这不是一个大问题.无论如何,我需要一个将用户指向主页的按钮.所以我用下面的按钮替换它:
<h:button value="Home" outcome="logout" />
Run Code Online (Sandbox Code Playgroud)
以及此导航案例:
<navigation-rule>
<from-view-id>*</from-view-id>
<navigation-case>
<from-outcome>logout</from-outcome>
<to-view-id>/stdPortal/index.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>
Run Code Online (Sandbox Code Playgroud)
导航将我带到了正确的页面,但会话ID显示在URL中:
https://localhost/stdPortal/index.xhtml;jsessionid=B68784B4ED8882A6575A2EE4012AF1B5
Run Code Online (Sandbox Code Playgroud)
我不想要这个.我怎么摆脱它?我希望网址如下:
https://localhost/stdPortal/index.xhtml
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种在JAVA中线性化XML的快速方法
我正在使用~2GB文件,因此排除了DOM.Java targhet是1.5.0.22我必须从xml生成一个由80bytes + newline组成的文件.我必须在一个将由Cobol程序读取的DB2表中编写它.
在Cobol中,重要的是大小,因为数据从表中读取为CHAR,这意味着空行为80个空格.
我读取文件字节到字节(我必须)但我可以使用内部临时缓冲来存储可能的序列以忽略
例5字节af ascii文件
<a><b><c>psofpisogiosigpsfiogpo</c></b></a>
<a><b
><c>p
sofpi
sogio
sigps
fiogp
o</c>
</b><
/a>
Run Code Online (Sandbox Code Playgroud)
问题与文件
<a>
<b>
<c>psofpisogiosigpsfiogpo</c>
</b>
</a>
<a>
<b
>
<c>ps
ofpis
ogios
igpsf
iogpo
</c>
<
/b>
</
a>
Run Code Online (Sandbox Code Playgroud)
非线性化XML在表中创建空行或某些行未充分发挥其潜力.
这成为了一个丢失的付费cpu循环unde HOST CICS环境
如果我可以线性化文件,我会得到相同的输出,如果文件是缩进的,XML保持相同的信息
任何的想法?
介绍
在Windows下的gVim中,我必须在每个文件串中替换insert和mod某些特定位置的字符.
例
QWAER;PA 0X000055;123WAAAA
TYUIO;PA 0Y000056;123VAAAA
Run Code Online (Sandbox Code Playgroud)
需要成为
QWAE@;PAX000055;123;WAAAA
TYUI@;PAY000056;123;VAAAA
Run Code Online (Sandbox Code Playgroud)
在@ delete char 9,10 insert中修改char 5; 在原始的pos 22或删除在pos 20之后
更多信息
通常我这样做
放置光标和文本的开头选择按CTRL-V(在gVim中按CTRL-Q)开始选择列保持按SHIFT并选择感兴趣的区域在文件的末尾,然后执行替换插入或修改.(这是我在GVim Win32中了解仅限键盘列块选择的地方,或者为什么在包含mswin.vim时Ctrl-Q不能模拟Ctrl-V? 在这里我学习如何进行插入(http:// pivotallabs .com/column-edit-mode-in-vi /)
这不是一个正确的做事方式.
在vim中,我可以使用命令替换扇形行等.
我认为应该可以使用命令来替换每个字符串的一部分,但我没有关于这些命令的Knoledge.
这是主要的想法
题
有没有办法使用具有绝对位置而不是选择的命令来执行操作.
谢谢