`

动态页面

阅读更多
Action :

public ActionForward getReceiveFeeInfo(ActionMapping mapping,
   ActionForm form, HttpServletRequest request,
   HttpServletResponse response) throws Exception {
  logger.debug("getReceiveFeeInfo");
  request.setAttribute("tabHtml", this
    .renderTabControlHtml(InitTabControlXml("getReceiveFeeInfo")));
  return mapping.findForward("getReceiveFeeInfo");
}



JSP:

<div id="tabcontrol" class="tabframe" align="left">${tabHtml}</div>

呵,根据不同的Action德操作,页面显示迥异。

看看吧:

生成页面显示信息

*initTabControlXml()

private String InitTabControlXml(String tabType) {
  StringBuffer buffer = new StringBuffer("<Param>");
  if ("getReceiveFeeInfo".equalsIgnoreCase(tabType)) {
   buffer.append("<cell caption='办件收费信息' selected='selected'/>");
  
  } else if ("chargeHandleList".equalsIgnoreCase(tabType)) {
   buffer.append("<cell caption='办件收费信息' selected='unselected'>");
   buffer.append("<![CDATA[chargeHandle.do?dispatch=getReceiveFeeInfo]]>");
   buffer.append("</cell>");
 
  }
  buffer.append("</Param>");
  //System.out.println(buffer.toString());
  return buffer.toString();
}


*renderTabControlHtml()解析xsl



   public String renderTabControlHtml(String controlXml) throws Exception{
    Reader in= new StringReader(controlXml);

    StringWriter writer = new StringWriter();
    ServletContext context = this.getServlet().getServletContext();
    String sheetname = context.getRealPath("/commons/tabcontrol/xml/tabcontrol.xsl");
  
      SAXBuilder builder = new SAXBuilder();
      Document doc = builder.build(in);

   //使用 开源的jdom 工具 transform.XSLTransformer;

      XSLTransformer transformer = new XSLTransformer(sheetname);
      Document doc2 = transformer.transform(doc);
   
      XMLOutputter outp = new XMLOutputter(Format.getPrettyFormat().setEncoding("UTF-8"));
      outp.output(doc2, writer);
     // System.out.println(writer.toString());
    return writer.toString();
   }



看看文件吧xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" encoding="UTF-8"/>
    <xsl:template match="/">
        <table cellSpacing="0" cellPadding="0" border="0" height="100%" id="tabtable">
            <tr class="tabframe_tr">
             <td class="tabsplit">|</td>
                <xsl:for-each select="Param/cell">
                    <td nowrap=""  onmousedown="mousedowntab(this)" >
                       <xsl:attribute name="class">
                        <xsl:if test="normalize-space(@selected)='selected'">tabselected</xsl:if>
                        <xsl:if test="normalize-space(@selected)='unselected'">tab</xsl:if>
                       </xsl:attribute>
                          <a  target='_self'>
                          <xsl:attribute name="href">
                           <xsl:if test="normalize-space(.)=''">#</xsl:if>
                           <xsl:if test="normalize-space(.)!=''"><xsl:value-of select="normalize-space(.)"/></xsl:if>
                       </xsl:attribute>
                          <xsl:value-of select="@caption"/>
                          </a>
                     </td>
                     <td class="tabsplit">|</td>
                </xsl:for-each>
            </tr>
        </table>
    </xsl:template>
</xsl:stylesheet>



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics