动态页面

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值