小编aza*_*oth的帖子

从Servlet访问JSF managedBean

我需要知道从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)

jsf servlets javabeans

10
推荐指数
1
解决办法
2万
查看次数

当子节点满足特定要求时删除XML节点

我有以下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 xslt

8
推荐指数
1
解决办法
4356
查看次数

使用XSLT删除xml标记

我有以下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 xslt

5
推荐指数
1
解决办法
2万
查看次数

从XML元素中删除空格

我有以下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节点中删除空格?

xslt

2
推荐指数
1
解决办法
197
查看次数

标签 统计

xslt ×3

xml ×2

javabeans ×1

jsf ×1

servlets ×1