- 浏览: 1887903 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (514)
- OPEN (41)
- WARN (33)
- EXPER (16)
- RESOURCE (7)
- TOOL (4)
- DWR (10)
- Struts1.x (10)
- Ibtais (18)
- MyEclipse (30)
- Sql Server (64)
- Tomcat (7)
- APACHE (4)
- JSP (18)
- SERVLET (6)
- ENGLISH (0)
- ECSide (8)
- JasperReports (7)
- JAVA (24)
- JS (42)
- XML (26)
- CVS (8)
- Mind (1)
- JQUERY (2)
- IBATIS (6)
- PROJECT (0)
- STRUTS2 (0)
- PROXOOL (0)
- SPRING (4)
- Hibernate (0)
- SSI (0)
- JBPM (11)
- FLEX (3)
- JSON (2)
- GWT (1)
- jeecms v3 (1)
- Flash (2)
- DATA (1)
- ORACLE (3)
- 查询oracle 中逗号分隔字符串中所有值 (1)
最新评论
-
小小西芹菜:
GoEasy web三步轻松实现web实时推送1. 引入goe ...
服务器推送技术 java -
kg_1997:
这个方法太棒了,可以不用to_date函数,实在是棒!!!
java/oracle日期处理 -
wodesunday:
:idea:
SQL的分段统计查询语句 -
wodesunday:
引用
SQL的分段统计查询语句 -
BlueSkator:
讲的有点浅,没有深入进去
tomcat需要的重新发布和重启服务器的几种情况
呵呵,让 java 决定 jsp 走向!
在Action里装饰jsp导航栏,按钮栏!相似的主体不一样的页眉页脚哦。呵呵
(在此以演示按钮栏)
一:总体设计
public ActionForward setUpForInsertOrUpdate(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
.....
//页面中最上面的菜单条
request.setAttribute("tabHtml", this .renderTabControlHtml(InitTabControlXml("Detail", operation,flag)));
//页面中最下面的按钮栏
request.setAttribute("buttonHtml", this.renderButtonHtml(InitBottonControlXml("Detail", operation,flag)));
return mapping.findForward(Constants.SETUPDATE);
}
二:显示按钮栏
/**
* 显示按钮工具条
* @param tabType
* @param operation
* @return
*/
private String InitBottonControlXml(String tabType, String operation,String flag) {
StringBuffer buffer = new StringBuffer("<Param>");
if ("List".equalsIgnoreCase(tabType)) {
buffer.append("<button name ='addDist' onclick='javascript:add()'>填写请假条</button>");
} else if ("Detail".equalsIgnoreCase(tabType)) {
buffer.append("<button name='updateDist' type='submit'>保存</button>");
if ("update".equals(operation)) {
if("0".equals(flag) || flag==null)
buffer.append("<button name='delDist' onclick='del()'>删除</button>");
//buffer.append("<button name='print' onclick='holiday()'>打印</button>");
}
buffer.append("<button name='cancel' onclick='reback()'>返回</button>");
}
buffer.append("</Param>");
return buffer.toString();
}
三:解析生成的xml
/**
*
* @param buttonXml 传入的button xml字符串
* @return 解析后的 button html串
* @throws Exception
*/
public String renderButtonHtml(String buttonXml) throws Exception{
Reader in= new StringReader(buttonXml);
StringWriter writer = new StringWriter();
try{
ServletContext context = this.getServlet().getServletContext();
String sheetname = context.getRealPath("/commons/button/xml/buttonxsl.xsl");
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(in);
XSLTransformer transformer = new XSLTransformer(sheetname);
Document doc2 = transformer.transform(doc);
XMLOutputter outp = new XMLOutputter(Format.getPrettyFormat().setEncoding("UTF-8"));
outp.output(doc2, writer);
}catch(Exception ex){
ex.getMessage();
}
return writer.toString();
}
四("/commons/button/xml/buttonxsl.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="/">
<span>
<xsl:for-each select="Param/*">
<xsl:choose>
<xsl:when test="name()='button' or name()='a' or name()='checkbox' or name()='select'">
<xsl:apply-templates select="."/>
</xsl:when>
<xsl:when test="name()='group'">
<xsl:for-each select="./*">
<xsl:apply-templates select="."/>
</xsl:for-each>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</span>
</xsl:template>
<xsl:template match="button">
<button>
<xsl:if test="./@name">
<xsl:attribute name="name"><xsl:value-of select="./@name"/></xsl:attribute>
<xsl:attribute name="id">bt_<xsl:value-of select="./@name"/></xsl:attribute>
</xsl:if>
<xsl:attribute name="onclick"><xsl:value-of select="./@onclick"/></xsl:attribute>
<xsl:if test="./@type">
<xsl:attribute name="type"><xsl:value-of select="./@type"/></xsl:attribute>
</xsl:if>
<xsl:choose>
<xsl:when test="normalize-space(.)='新增' or normalize-space(.)='新 增'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_new.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='删除' or normalize-space(.)='删 除'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_del.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='保存' or normalize-space(.)='保 存'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_save.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='查询' or normalize-space(.)='查 询'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_search.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='打印' or normalize-space(.)='打 印'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_print.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='确认' or normalize-space(.)='确 认'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_ok.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='关闭' or normalize-space(.)='关 闭'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_close.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='选中' or normalize-space(.)='选 中'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_select.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='提交' or normalize-space(.)='提 交'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_submit.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='审批' or normalize-space(.)='审 批'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_check.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='退审' or normalize-space(.)='退 审'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_false.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:if test="string-length(.) < 3">
<xsl:attribute name="style">background-image:url(commons/button/images/button_null2.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:if>
<xsl:if test="string-length(.) > 3">
<xsl:attribute name="style">background-image:url(commons/button/images/button_null1.gif);width:80px;margin-right:5px;</xsl:attribute>
</xsl:if>
<xsl:value-of select="normalize-space(.)"/>
</xsl:otherwise>
</xsl:choose>
</button>
</xsl:template>
<xsl:template match="a">
<font class="abutton">
<xsl:if test="./@name">
<xsl:attribute name="name"><xsl:value-of select="./@name"/></xsl:attribute>
<xsl:attribute name="id">bt_<xsl:value-of select="./@name"/></xsl:attribute>
</xsl:if>
<xsl:attribute name="onclick"><xsl:value-of select="./@onclick"/></xsl:attribute>
<xsl:value-of select="."/>
</font>
</xsl:template>
<xsl:template match="checkbox">
<input type="checkbox">
<xsl:if test="./@name">
<xsl:attribute name="name"><xsl:value-of select="./@name"/></xsl:attribute>
<xsl:attribute name="id">bt_<xsl:value-of select="./@name"/></xsl:attribute>
</xsl:if>
<xsl:if test="./@onclick">
<xsl:attribute name="onclick"><xsl:value-of select="./@onclick"/></xsl:attribute>
</xsl:if>
<xsl:if test="./@checked">
<xsl:attribute name="checked"/>
</xsl:if>
</input>
<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="select">
<select>
<xsl:if test="./@name">
<xsl:attribute name="name"><xsl:value-of select="./@name"/></xsl:attribute>
<xsl:attribute name="id">bt_<xsl:value-of select="./@name"/></xsl:attribute>
</xsl:if>
<xsl:if test="./@onchange">
<xsl:attribute name="onchange"><xsl:value-of select="./@onchange"/></xsl:attribute>
</xsl:if>
<xsl:for-each select="./option">
<option>
<xsl:if test="./@value">
<xsl:attribute name="value"><xsl:value-of select="./@value"/></xsl:attribute>
</xsl:if>
<xsl:if test="./@selected">
<xsl:attribute name="selected"/>
</xsl:if>
<xsl:value-of select="."/>
</option>
</xsl:for-each>
</select>
</xsl:template>
<xsl:template match="text">
<input type="text" class="seektext">
<xsl:if test="./@name">
<xsl:attribute name="name"><xsl:value-of select="./@name"/></xsl:attribute>
<xsl:attribute name="id">bt_<xsl:value-of select="./@name"/></xsl:attribute>
</xsl:if>
<xsl:if test="./@onchange">
<xsl:attribute name="onchange"><xsl:value-of select="./@onchange"/></xsl:attribute>
</xsl:if>
<xsl:if test="./@width">
<xsl:attribute name="style">width:<xsl:value-of select="./@width"/></xsl:attribute>
</xsl:if>
</input>
</xsl:template>
</xsl:stylesheet>
嘿嘿,明白否?
其实jsp导航栏原理一样,想要导航栏的留下大名哦
在Action里装饰jsp导航栏,按钮栏!相似的主体不一样的页眉页脚哦。呵呵
(在此以演示按钮栏)
一:总体设计
public ActionForward setUpForInsertOrUpdate(ActionMapping mapping,
ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
.....
//页面中最上面的菜单条
request.setAttribute("tabHtml", this .renderTabControlHtml(InitTabControlXml("Detail", operation,flag)));
//页面中最下面的按钮栏
request.setAttribute("buttonHtml", this.renderButtonHtml(InitBottonControlXml("Detail", operation,flag)));
return mapping.findForward(Constants.SETUPDATE);
}
二:显示按钮栏
/**
* 显示按钮工具条
* @param tabType
* @param operation
* @return
*/
private String InitBottonControlXml(String tabType, String operation,String flag) {
StringBuffer buffer = new StringBuffer("<Param>");
if ("List".equalsIgnoreCase(tabType)) {
buffer.append("<button name ='addDist' onclick='javascript:add()'>填写请假条</button>");
} else if ("Detail".equalsIgnoreCase(tabType)) {
buffer.append("<button name='updateDist' type='submit'>保存</button>");
if ("update".equals(operation)) {
if("0".equals(flag) || flag==null)
buffer.append("<button name='delDist' onclick='del()'>删除</button>");
//buffer.append("<button name='print' onclick='holiday()'>打印</button>");
}
buffer.append("<button name='cancel' onclick='reback()'>返回</button>");
}
buffer.append("</Param>");
return buffer.toString();
}
三:解析生成的xml
/**
*
* @param buttonXml 传入的button xml字符串
* @return 解析后的 button html串
* @throws Exception
*/
public String renderButtonHtml(String buttonXml) throws Exception{
Reader in= new StringReader(buttonXml);
StringWriter writer = new StringWriter();
try{
ServletContext context = this.getServlet().getServletContext();
String sheetname = context.getRealPath("/commons/button/xml/buttonxsl.xsl");
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(in);
XSLTransformer transformer = new XSLTransformer(sheetname);
Document doc2 = transformer.transform(doc);
XMLOutputter outp = new XMLOutputter(Format.getPrettyFormat().setEncoding("UTF-8"));
outp.output(doc2, writer);
}catch(Exception ex){
ex.getMessage();
}
return writer.toString();
}
四("/commons/button/xml/buttonxsl.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="/">
<span>
<xsl:for-each select="Param/*">
<xsl:choose>
<xsl:when test="name()='button' or name()='a' or name()='checkbox' or name()='select'">
<xsl:apply-templates select="."/>
</xsl:when>
<xsl:when test="name()='group'">
<xsl:for-each select="./*">
<xsl:apply-templates select="."/>
</xsl:for-each>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</span>
</xsl:template>
<xsl:template match="button">
<button>
<xsl:if test="./@name">
<xsl:attribute name="name"><xsl:value-of select="./@name"/></xsl:attribute>
<xsl:attribute name="id">bt_<xsl:value-of select="./@name"/></xsl:attribute>
</xsl:if>
<xsl:attribute name="onclick"><xsl:value-of select="./@onclick"/></xsl:attribute>
<xsl:if test="./@type">
<xsl:attribute name="type"><xsl:value-of select="./@type"/></xsl:attribute>
</xsl:if>
<xsl:choose>
<xsl:when test="normalize-space(.)='新增' or normalize-space(.)='新 增'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_new.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='删除' or normalize-space(.)='删 除'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_del.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='保存' or normalize-space(.)='保 存'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_save.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='查询' or normalize-space(.)='查 询'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_search.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='打印' or normalize-space(.)='打 印'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_print.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='确认' or normalize-space(.)='确 认'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_ok.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='关闭' or normalize-space(.)='关 闭'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_close.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='选中' or normalize-space(.)='选 中'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_select.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='提交' or normalize-space(.)='提 交'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_submit.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='审批' or normalize-space(.)='审 批'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_check.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:when test="normalize-space(.)='退审' or normalize-space(.)='退 审'">
<xsl:attribute name="style">background-image:url(commons/button/images/button_false.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:when>
<xsl:otherwise>
<xsl:if test="string-length(.) < 3">
<xsl:attribute name="style">background-image:url(commons/button/images/button_null2.gif);width:64px;margin-right:5px;</xsl:attribute>
</xsl:if>
<xsl:if test="string-length(.) > 3">
<xsl:attribute name="style">background-image:url(commons/button/images/button_null1.gif);width:80px;margin-right:5px;</xsl:attribute>
</xsl:if>
<xsl:value-of select="normalize-space(.)"/>
</xsl:otherwise>
</xsl:choose>
</button>
</xsl:template>
<xsl:template match="a">
<font class="abutton">
<xsl:if test="./@name">
<xsl:attribute name="name"><xsl:value-of select="./@name"/></xsl:attribute>
<xsl:attribute name="id">bt_<xsl:value-of select="./@name"/></xsl:attribute>
</xsl:if>
<xsl:attribute name="onclick"><xsl:value-of select="./@onclick"/></xsl:attribute>
<xsl:value-of select="."/>
</font>
</xsl:template>
<xsl:template match="checkbox">
<input type="checkbox">
<xsl:if test="./@name">
<xsl:attribute name="name"><xsl:value-of select="./@name"/></xsl:attribute>
<xsl:attribute name="id">bt_<xsl:value-of select="./@name"/></xsl:attribute>
</xsl:if>
<xsl:if test="./@onclick">
<xsl:attribute name="onclick"><xsl:value-of select="./@onclick"/></xsl:attribute>
</xsl:if>
<xsl:if test="./@checked">
<xsl:attribute name="checked"/>
</xsl:if>
</input>
<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="select">
<select>
<xsl:if test="./@name">
<xsl:attribute name="name"><xsl:value-of select="./@name"/></xsl:attribute>
<xsl:attribute name="id">bt_<xsl:value-of select="./@name"/></xsl:attribute>
</xsl:if>
<xsl:if test="./@onchange">
<xsl:attribute name="onchange"><xsl:value-of select="./@onchange"/></xsl:attribute>
</xsl:if>
<xsl:for-each select="./option">
<option>
<xsl:if test="./@value">
<xsl:attribute name="value"><xsl:value-of select="./@value"/></xsl:attribute>
</xsl:if>
<xsl:if test="./@selected">
<xsl:attribute name="selected"/>
</xsl:if>
<xsl:value-of select="."/>
</option>
</xsl:for-each>
</select>
</xsl:template>
<xsl:template match="text">
<input type="text" class="seektext">
<xsl:if test="./@name">
<xsl:attribute name="name"><xsl:value-of select="./@name"/></xsl:attribute>
<xsl:attribute name="id">bt_<xsl:value-of select="./@name"/></xsl:attribute>
</xsl:if>
<xsl:if test="./@onchange">
<xsl:attribute name="onchange"><xsl:value-of select="./@onchange"/></xsl:attribute>
</xsl:if>
<xsl:if test="./@width">
<xsl:attribute name="style">width:<xsl:value-of select="./@width"/></xsl:attribute>
</xsl:if>
</input>
</xsl:template>
</xsl:stylesheet>
嘿嘿,明白否?
其实jsp导航栏原理一样,想要导航栏的留下大名哦
发表评论
-
java 根据日期实现创建多级目录文件夹
2012-10-17 16:41 8418//当前日期 Date date = new Date(); ... -
JAVA中的转义字符
2011-06-15 14:35 2095JAVA中的转义字符 原来JAVA中转义字符就很简单的四种: ... -
通览 java 中的反射
2011-04-13 09:53 1225一.反射概念 反射的概念是由Smith在1982年首次提 ... -
两种取得java当前时间的办法
2011-01-17 09:09 3331两种取得java当前时间的办法 1。 SimpleDat ... -
java设置文件属性
2010-12-31 15:44 1762package com.wujc.hidden; imp ... -
java读取隐藏文件
2010-12-31 15:43 4194java读写隐藏文件与普通的文件略有不同,如下: 如果使用: ... -
漫谈Java程序的性能优化
2010-12-15 09:09 1183Java使得复杂应用的开发变得相对简单,毫无疑问,它的这种易用 ... -
Java从控制台中读取数据完全攻略
2010-12-15 08:56 9940 引言 从控制 ... -
java 遍历map集合
2010-12-15 08:51 2566map遍历 jdk_api对map遍历的支持 Set< ... -
RCP总结
2010-10-30 18:07 1214.简介 Rich client platform 富客户端平 ... -
java 随机数
2010-04-09 17:35 1555随机数在实际中使用很广泛,比如要随即生成一个固定长度的字符串、 ... -
文件操作之读取文件
2010-04-09 15:27 1564虽然前面介绍了流的概念,但是这个概念对于初学者来说,还是比较抽 ... -
java读取文件内容再编辑
2010-04-08 12:16 1408有时候,我们需要将读取文件的内容到一个byte[] 数组中,然 ... -
java 环境配置
2010-03-26 08:53 7086windows系统下JDK1.6环境变量配置 一、JDK1.6 ... -
jdbc resultsetMeteData 学习
2010-03-24 14:47 1448应需要对JDBC对数据库的元数据的操作学习了一下。 对JDB ... -
JDBC使用Statement,PreparedStatement,CallableStatement.实例
2010-03-20 20:50 1391java操作数据库创建Statement,PreparedSt ... -
JDBC使用Statement,PreparedStatement,CallableStatement.实例
2010-03-20 20:44 1860java操作数据库创建Statement,PreparedSt ... -
JDBC中操作数据库的三个对象:Statement;PreparedStatement;CallableStatement
2010-03-20 20:27 29361、创建 Statement 对象 建立了到特定数据库 ... -
java 中的三元运算符
2010-01-26 15:36 5757一说到运算符,大家肯定会想到加,减,乘,除,等于,等等,但是这 ... -
SQLServerException: 系统内存不足
2010-01-22 09:49 2560ERROR [HouseKeeper] - Housekeep ...
相关推荐
另一方面,Struts是一个专为Java Servlet和JSP技术设计的开源框架,遵循MVC设计模式,提供了ControllerServlet,用于调度Action对象处理用户请求,从而简化Web应用程序的开发流程。 综上所述,选择合适的Java开发...
对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高...
8. **Struts框架**:在Struts框架中,Action类的execute方法处理业务逻辑,返回一个String对象,决定流程走向,控制权交给Result组件。 9. **多线程实现**:Java中创建多线程有两种方式,一是继承Thread类,二是...
8. **Struts框架**:在Struts框架中,Action类的execute方法处理业务逻辑,返回String对象决定控制流走向,result组件根据返回值决定下一步操作。 9. **多线程实现**:Java中创建线程有两种方式,一是继承Thread类...
Action类通常用于处理用户的请求,它与Form Bean关联,并决定后续的业务逻辑走向。例如,创建一个名为`ConfigAction`的Action,Type字段应指定Action类的完整包路径。 6. **配置Action和Form的关系**: 在`struts-...
总结,Java Web自定义标签提供了一种强大的机制,让开发者能够扩展JSP语言,创建符合项目需求的定制化标签。通过理解标签的生命周期、返回值的作用以及如何编写TLD文件,我们可以有效地利用这一特性来优化Web应用...
对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高...
对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高...
对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高...
对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高...
Action类中的方法返回值决定了控制流程的走向,返回值可以是字符串,对应不同的结果视图。 **拦截器** 拦截器是Struts2的另一大特色,它允许开发者在Action调用前后执行自定义逻辑。常见的拦截器有Params(处理参数...
动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的 优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。 这些优点能够极大地提高人事管理的效率 ,也是企业的科学化、...
在Java Web开发领域,Struts框架是MVC(Model-View-Controller)设计模式的一种实现,极大地简化了Web应用的构建。然而,有时我们需要根据项目需求对Struts进行定制,使其更符合我们的业务逻辑。本文将深入探讨如何...
算法设计如图2.2所示,主要基于用户提交的选择,通过判断Type的值来决定流程走向,如进入dangAnList_AJ.jsp、dangAnList_WJ.jsp或recycleList.jsp。 三、系统资源与程序设计 系统资源的使用需要考虑到效率和一致性...
Action类的execute方法返回一个字符串,该字符串对应struts-config.xml中定义的forward名称,决定控制流走向。 3. **Form Bean**:Struts框架通过Form Bean实现模型层的数据封装。Form Bean通常对应一个Java类,...
Action类通常包含多个方法,每个方法对应一个特定的用户操作,通过`execute()`方法的返回值来决定流程走向。 配置文件struts.xml是Struts2的中心配置,用于定义Action、结果类型、拦截器等。例如: ```xml ...
3. **module2**:可能包含了Action类,这些类是Struts的核心组件,它们实现了Struts的Action接口,执行具体的业务逻辑并返回对应的ActionForward,决定用户请求的下一步走向。 4. **module6**:可能包含了JSP页面,...
Action负责业务逻辑的处理,例如验证数据、调用服务层方法等,并最终决定控制流程走向,返回一个ActionForward对象指示下一步的动作。 2. **Form Beans**: Form Beans(表单豆)是Struts用来封装用户输入数据的对象...
例如,我们可以创建一个名为`HelloWorldAction`的类,该类有一个`execute`方法,返回类型为`String`,返回值决定了控制流的走向。 ```java public class HelloWorldAction { public String execute() { return ...