我需要知道从servlet访问JSF managedBean(定义了应用程序范围)的最佳方法是什么.目前我的servlet中有这样的东西:
MyApplicationScopeBean bean = null;
try {
FacesContext fContext = FacesUtil.getFacesContext(req, resp);
ServletContext sc = (ServletContext) fContext.getExternalContext().getContext();
bean = (MyApplicationScopeBean) sc.getAttribute("myManagedBean");
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
FacesUtil.java(如http://balusc.blogspot.com/2006/06/communication-in-jsf.html中所述):
import javax.faces.FactoryFinder;
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import javax.faces.context.FacesContextFactory;
import javax.faces.lifecycle.Lifecycle;
import javax.faces.lifecycle.LifecycleFactory;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FacesUtil {
// Getters -----------------------------------------------------------------------------------
public static FacesContext getFacesContext(
HttpServletRequest request, HttpServletResponse response)
{
// Get current FacesContext.
FacesContext facesContext = FacesContext.getCurrentInstance();
// Check current FacesContext.
if (facesContext == null) …Run Code Online (Sandbox Code Playgroud) 我有以下xml:
<listaGiros>
<giro>
<idGiro type="int">89</idGiro>
<nombreGiro type="varchar">foo</nombreGiro>
</giro>
<giro>
<idGiro type="int">78</idGiro>
<nombreGiro type="varchar">apple</nombreGiro>
</giro>
<giro>
<idGiro type="int">10</idGiro>
<nombreGiro type="varchar"/>
</giro>
</listaGiros>
Run Code Online (Sandbox Code Playgroud)
我想成为:
<listaGiros>
<giro>
<idGiro type="int">89</idGiro>
<nombreGiro type="varchar">foo</nombreGiro>
</giro>
<giro>
<idGiro type="int">78</idGiro>
<nombreGiro type="varchar">apple</nombreGiro>
</giro>
</listaGiros>
Run Code Online (Sandbox Code Playgroud)
因为我需要删除每个空的<giro>节点<nombreGiro>
使用XSLT最好的方法是什么?
先感谢您
我有以下xml文件:
<xfa:data>
<form1>
<Page1>
<Page2>
<contractInfo> ... </contractInfo>
<paymentInfo> ... </paymentInfo>
</form1>
<commercialType> .... </commercialType>
<userList> ... </userList>
<officesList> ... </officesList>
<commercialType> .... </commercialType>
<userList> ... </userList>
<officesList> ... </officesList>
<commercialType> .... </commercialType>
<userList> ... </userList>
<officesList> ... </officesList>
</xfa:data>
Run Code Online (Sandbox Code Playgroud)
我想删除commercialType,userList和officesList节点的每个发生,所以我的输出将是:
<xfa:data>
<form1>
<Page1>
<Page2>
<contractInfo> ... </contractInfo>
<paymentInfo> ... </paymentInfo>
</form1>
</xfa:data>
Run Code Online (Sandbox Code Playgroud)
我怎么能用XSLT做到这一点?
谢谢
我有以下XML
<list>
<foo attr1="value" attr2="red"> </foo>
<foo attr1="xx" attr2="blue"> </foo>
<foo attr1="yy" attr2="green"> </foo>
</list>
Run Code Online (Sandbox Code Playgroud)
我想成为:
<list>
<foo attr1="value" attr2="red"/>
<foo attr1="xx" attr2="blue"/>
<foo attr1="yy" attr2="green"/>
</list>
Run Code Online (Sandbox Code Playgroud)
是否有一个XSLT选项用于从foo节点中删除空格?