- 浏览: 1509476 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (798)
- struts2 (42)
- servlet (20)
- quartz (4)
- jquery & ajax (24)
- tomcat (5)
- javascript (15)
- struts1 (8)
- 搜索关键字及链接 (3)
- fckeditor (3)
- Apache (5)
- spring (22)
- linux (3)
- 企业应用 (8)
- 综合应用 (13)
- 服务器 (2)
- 数据库 (85)
- 性能调优 (21)
- 网络应用 (15)
- 缓存技术 (8)
- 设计模式 (39)
- 面试题 (7)
- 程序人生&前辈程序员 (29)
- java基础 (59)
- hibernate (75)
- log4j (4)
- http (11)
- 架构设计 (28)
- 网页设计 (12)
- java邮件 (4)
- 相关工具 (11)
- ognl (7)
- 工作笔记 (18)
- 知识面扩展 (12)
- oracle异常 (1)
- 正则表达式 (2)
- java异常 (5)
- 项目实践&管理 (1)
- 专业术语 (11)
- 网站参考 (1)
- 论坛话题 (2)
- web应用 (11)
- cxf&webservice (22)
- freemarker (3)
- 开源项目 (9)
- eos (1)
- ibatis (6)
- 自定义标签 (3)
- jsp (3)
- 内部非公开文档(注意:保存为草稿) (0)
- 国内外知名企业 (2)
- 网店 (3)
- 分页 (1)
- 消费者习惯 (2)
- 每日关注 (1)
- 商业信息 (18)
- 关注商业网站 (1)
- 生活常识 (3)
- 新闻 (2)
- xml&JSON (5)
- solaris (1)
- apache.common (3)
- BLOB/CLOB (1)
- lucene (2)
- JMS (14)
- 社会进程 (8)
- SSH扩展 (2)
- 消费心理 (1)
- 珠三角 (1)
- 设计文档 (1)
- XWork&webwork (1)
- 软件工程 (3)
- 数据库及链接 (1)
- RMI (2)
- 国内外知名企业&人物 (1)
最新评论
-
司c马:
简介易懂、
OutputStream和InputStream的区别 -
在世界的中心呼喚愛:
解决我的问题
Java获取客户端的真实IP地址 -
bo_hai:
都是些基本的概念呀!
SSO -
tian_4238:
哥们,你也是搞水利这块的吧。
巧用SQLQuery中的addScalar -
loveEVERYday:
java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结
- <!-- 最简单的选项卡,两个选项卡加载都是本页面 -->
- <hr color="blue">
- <b>最简单的选项卡:</b>
- <br>
- <sx:tabbedpanel id="tab1" beforeSelectTabNotifyTopics="/beforeSelect">
- <sx:div label="Tab 1" >
- Local Tab 1
- </sx:div>
- <sx:div label="Tab 2" >
- Local Tab 2
- </sx:div>
- </sx:tabbedpanel>
- <!-- 加载其他页面的选项卡 -->
- <hr color="blue">
- <b>加载其他页面的选项卡:</b>
- <br>
- <sx:tabbedpanel id="tab2">
- <sx:div label="Remote Tab 1" href="upload.jsp">
- Remote Tab 1
- </sx:div>
- <sx:div label="Remote Tab 2" href="multipleUpload.jsp" >
- Remote Tab 1
- </sx:div>
- </sx:tabbedpanel>
- <!-- 设置选项卡底下的内容懒加载,即等需要的时候再加载,使用属性preload="false"-->
- <hr color="blue">
- <b>设置选项卡底下的内容懒加载,即等需要的时候再加载,使用属性preload="false":</b>
- <br>
- <sx:tabbedpanel id="tab3">
- <sx:div label="Remote Tab 1" href="upload.jsp">
- Remote Tab 1
- </sx:div>
- <sx:div label="Remote Tab 2" href="multipleUpload.jsp" preload="false">
- Remote Tab 1
- </sx:div>
- </sx:tabbedpanel>
- <!-- 固定大小的选项卡 -->
- <hr color="blue">
- <b>固定大小的选项卡,使用属性cssStyle和doLayout:</b>
- <br>
- <sx:tabbedpanel cssStyle="width: 200px; height: 100px;" doLayout="true" id="tab4">
- <sx:div label="Tab 1" >
- Local Tab 1
- </sx:div>
- <sx:div label="Tab 2" >
- Local Tab 2
- </sx:div>
- </sx:tabbedpanel>
- <!-- 每次点击选项卡时都重新刷新内容 -->
- <hr color="blue">
- <b>每次点击选项卡时都重新刷新内容,使用属性refreshOnShow:</b>
- <br>
- <sx:tabbedpanel id="tab5">
- <sx:div label="Remote Tab 1" href="upload.jsp" refreshOnShow="true">
- Remote Tab 1
- </sx:div>
- <sx:div label="Remote Tab 2" href="multipleUpload.jsp" refreshOnShow="true">
- Remote Tab 2
- </sx:div>
- </sx:tabbedpanel>
- <!-- 使得其中一个选项卡失效 -->
- <hr color="blue">
- <b>使得其中一个选项卡失效:</b>
- <br>
- <sx:tabbedpanel id="tab6">
- <sx:div label="Tab 1" >
- Local Tab 1
- </sx:div>
- <sx:div label="Tab 2" disabled="true">
- Local Tab 2
- </sx:div>
- </sx:tabbedpanel>
- <!-- 设置选项卡在底部显示 (可以是: top, right, bottom, left) -->
- <hr color="blue">
- <b>设置选项卡在底部显示 (可以是: top, right, bottom, left):</b>
- <br>
- <sx:tabbedpanel id="tab7" labelposition="bottom" cssStyle="width:200px;height:100px;" doLayout="true">
- <sx:div label="Tab 1" >
- Local Tab 1
- </sx:div>
- <sx:div label="Tab 2" >
- Local Tab 2
- </sx:div>
- </sx:tabbedpanel>
- <!-- 设置选项卡允许关闭,使用属性closeable -->
- <hr color="blue">
- <b>设置选项卡允许关闭,使用属性closeable:</b>
- <br>
- <sx:tabbedpanel id="tab8">
- <sx:div label="Tab 1" >
- Local Tab 1
- </sx:div>
- <sx:div label="Tab 2" closable="true">
- Local Tab 2
- </sx:div>
- </sx:tabbedpanel>
- <br/>--------------------------------------------------------------<br/>
- #、sx:textarea @textarea控件 <br/>
- <sx:textarea label="简介" value="sx:textareasx:textareasx:<br/>textareasx:textareasx:textareasx:<br/>textareasx:textareasx:<br/>textareasx:textarea"></sx:textarea>
- <br/>--------------------------------------------------------------<br/>
- #、sx:tree @树控件 <br/>
- <sx:tree id="tree1" label="根节点">
- <sx:treenode id="tn1" label="财务部" />
- <sx:treenode id="tn2" label="开发部">
- <sx:treenode id="tn3" label="JAVA" />
- <sx:treenode id="tn4" label=".NET" />
- </sx:treenode>
- <sx:treenode id="tn5" label="人事部" />
- </sx:tree>
- </s:form>
- </body>
- </html>
struts.xml 代码:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN" "struts-2.1.7.dtd" >
- <struts>
- <constant name="struts.custom.i18n.resources" value="struts2"></constant>
- <constant name="struts.configuration.xml.reload" value="true"></constant>
- <package name="package1" namespace="/com/rao" extends="struts-default">
- <action name="tagsAction1" class="com.rao.action.TagsAction1">
- <result>/success.jsp</result>
- </action>
- </package>
- </struts>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN" "struts-2.1.7.dtd" > <struts> <constant name="struts.custom.i18n.resources" value="struts2"></constant> <constant name="struts.configuration.xml.reload" value="true"></constant> <package name="package1" namespace="/com/rao" extends="struts-default"> <action name="tagsAction1" class="com.rao.action.TagsAction1"> <result>/success.jsp</result> </action> </package> </struts>
TagsAction1.java 代码:
- package com.rao.action;
- import com.opensymphony.xwork2.ActionSupport;
- public class TagsAction1 extends ActionSupport {
- private String userName;
- public String getUserName() {
- return userName;
- }
- public void setUserName(String userName) {
- this.userName = userName;
- }
- @Override
- public String execute() throws Exception {
- return SUCCESS;
- }
- }
package com.rao.action; import com.opensymphony.xwork2.ActionSupport; public class TagsAction1 extends ActionSupport { private String userName; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } @Override public String execute() throws Exception { return SUCCESS; } }
GlobalNativeAction.java
- package com.rao.action;
- import com.opensymphony.xwork2.ActionContext;
- import com.opensymphony.xwork2.ActionSupport;
- /**
- * 演示的是在Action 中获取国际化资源文件中的内容
- * @author Administrator
- *
- */
- public class GlobalNativeAction extends ActionSupport {
- @Override
- public String execute() throws Exception {
- //不带有占位符的获取方法
- //ActionContext.getContext().put("message", this.getText("welcome"));
- //带有占位符的获取方法
- ActionContext.getContext().put("message", this.getText("welcome",new String[]{"raozhiyong","study"}));
- return "message";
- }
- }
package com.rao.action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; /** * 演示的是在Action 中获取国际化资源文件中的内容 * @author Administrator * */ public class GlobalNativeAction extends ActionSupport { @Override public String execute() throws Exception { //不带有占位符的获取方法 //ActionContext.getContext().put("message", this.getText("welcome")); //带有占位符的获取方法 ActionContext.getContext().put("message", this.getText("welcome",new String[]{"raozhiyong","study"})); return "message"; } }
struts2_zh_CN.properties
welcome | 全局范围:{0},这是一个中文的国际化资源文件,欢迎你的使用{1}!!! |
GlobalNativeAction_zh_CN.properties
welcome | Action范围:{0},这是一个中文的国际化资源文件,欢迎你的使用{1}!!! |
package_zh_CN.properties
welcome | package范围:{0},这是一个中文的国际化资源文件,欢迎你的使用{1}!!! |
Sex.java
- package com.rao.bean;
- public class Sex {
- private int id;
- private String name;
- public Sex(int id, String name) {
- super();
- this.id = id;
- this.name = name;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- }
package com.rao.bean; public class Sex { private int id; private String name; public Sex(int id, String name) { super(); this.id = id; this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
UserBean.java
- package com.rao.bean;
- import java.io.Serializable;
- public class UserBean implements Serializable{
- private static final long serialVersionUID = 1L;
- public UserBean() {}
- private Integer userId;
- private String userName;
- public Integer getUserId() {
- return userId;
- }
- public void setUserId(Integer userId) {
- this.userId = userId;
- }
- public String getUserName() {
- return userName;
- }
- public void setUserName(String userName) {
- this.userName = userName;
- }
- }
package com.rao.bean; import java.io.Serializable; public class UserBean implements Serializable{ private static final long serialVersionUID = 1L; public UserBean() {} private Integer userId; private String userName; public Integer getUserId() { return userId; } public void setUserId(Integer userId) { this.userId = userId; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } }
MyComparator.java
- package com.rao.comparator;
- import java.util.Comparator;
- public class MyComparator implements Comparator<Integer> {
- public int compare(Integer o1, Integer o2) {
- int c = o1.compareTo(o2);
- return c;//可以完成顺序排序
- //return -c;//可以完成倒序排序
- }
- }
package com.rao.comparator; import java.util.Comparator; public class MyComparator implements Comparator<Integer> { public int compare(Integer o1, Integer o2) { int c = o1.compareTo(o2); return c;//可以完成顺序排序 //return -c;//可以完成倒序排序 } }
运行结果,附上图片:
代码见附件压缩包:Struts2-Tags.zip。谢谢!
http://www.iteye.com/topic/655025
发表评论
-
Struts2对Action名称的搜索顺序
2011-08-03 22:47 1389新建一个struts2项目,命名为struts2。按照如下XM ... -
探究Struts2运行机制:StrutsPrepareAndExecuteFilter 源码剖析
2011-08-03 19:09 1783一、概述 Struts2的核心是一个Filter ... -
struts2 FilterDispatcher 和 StrutsPrepareAndExecuteFilter 的区别
2011-08-03 18:02 1354FilterDispatcher是struts2.0.x到2. ... -
框架学习之Struts2 第二节 Action的详解
2011-08-03 17:50 1390http://www.cnblogs.com/ying ... -
Struts2的模板和主题theme及自定义theme
2011-08-03 16:59 8279Struts2提供了三种主题,ajax, simple, cs ... -
struts2 action基类 ActionSupport
2011-08-03 16:14 2656Struts 2的Action无须实现 ... -
Struts2访问Web元素(RequestAware,SessionAware,ApplicationAware)
2011-08-03 14:50 9717在Struts2中,动作类虽然继承ActionSupport类 ... -
Struts2自定义拦截器实例—Session超时的处理
2011-08-03 10:49 3414版本:struts2.1.6 实例功能:当用户登陆后,ses ... -
Struts2数据传输的背后机制:ValueStack(值栈)
2011-07-11 15:34 1352今天看到一篇讲struts2的valuestack的很好文章, ... -
struts2文件上传的采用的三种方式解析
2011-07-06 18:29 1383文件上传几乎是每个项目实现的一个必须的模块。 上传就是将 ... -
Struts2 <s:token/>标签
2011-03-01 09:24 16191、使用Struts2的表单标签,其中需要增加token标签。 ... -
struts2的Action配置通配符
2011-02-28 17:05 22311.注意,书写代码的时候一定要注意命名的规则,不要胡乱的命名, ... -
struts2中form的theme属性
2011-02-28 16:00 2393struts2中theme属性包括xhtml,html,sim ... -
Struts2的类型转换器
2011-02-24 17:27 1410一、概述 在B/S应用中,将字符串请求参数转换为相应的 ... -
Struts2标签--s:url
2011-02-23 17:09 1894<!--action就是struts2 acti ... -
hgdfghgdfh
2011-01-06 17:57 0datealocaltonight.com -
Struts2 默认的模板配置 theme
2010-10-29 10:26 1492在使用struts2标签时,默认情况下生成的html代码会添加 ... -
Struts2自定义Theme
2010-10-29 10:21 16091. Struts2 Theme与WebWork Theme ... -
Struts2 的四种theme类型
2010-10-29 10:13 1687struts2 中有四种 theme 类型: simple ... -
struts2数据校验流程图
2010-10-29 09:40 2161通过我在blog中写到关于利用Struts 2完成手动校验这篇 ...
相关推荐
- **第9章Struts2的标签库**:详细说明Struts2提供的自定义标签,这些标签能够简化页面元素的渲染过程。 - **第10章Struts2的拦截器**:介绍拦截器的作用、配置方式以及自定义拦截器的开发方法。 - **第11章Struts2...
Struts2.1配置是Java Web开发中一个关键步骤...总的来说,Struts2.1的配置涉及到Web应用的结构、配置文件、Action类、表单类、JSP页面和标签库的综合运用。理解并正确配置这些元素是构建有效、高效Struts2应用的基础。
以下是对"struts 2.1常用6个jar包"的详细说明: 1. **struts2-core.jar**:这是Struts 2的核心库,包含了框架的主要组件,如Action类、Result类、Interceptor拦截器接口、ValueStack等。这个JAR包是所有Struts 2...
5.7 Struts2自定义标签实现图形验证功能 121 第6章 Struts2非JSP视图技术 125 6.1 velocity视图技术使用介绍 125 6.2 freemarker视图技术使用介绍 128 6.3 JasperReports报表视图技术使用介绍 130 第7章 Struts2类型...
- `freemarker-2.x.x.jar`:Struts 2 UI 标签的模板引擎。 - `commons-logging-1.1.x.jar`:Apache Software Foundation 提供的日志包,Struts 2 使用它来支持 Log4J 和 JDK 日志记录。 - `commons-fileupload-1....
"Struts2 实现分页(网址,文章收藏) - 平静的影子 - 博客园.htm"和"struts标签实现博客园的分页 - 垚淼 - 博客园.htm"这两篇文章可能详细解释了如何通过Struts2的控制器和视图层实现这一功能,包括传递参数、计算页码...
至于Struts2.0和Struts2.1的区别,虽然这里没有具体说明,但通常更新版本会修复已知问题,增加新功能,提高性能,并可能引入一些不向后兼容的变化。例如,从Struts2.0到Struts2.1可能会改进Action的生命周期,增强...
这篇博客“Struts2类型转换深入总结”深入探讨了这个主题,以下是对这一知识点的详细说明。 1. **类型转换的必要性**: 在Web应用中,用户通过表单提交的数据通常是字符串形式,而Action类中的字段可能需要各种...
本文主要针对从旧版本Struts2框架升级至2.5.16版本时可能遇到的各种问题进行详细介绍,并给出相应的解决方案。这包括了jar包的替换与引入、配置文件的调整、代码层面的改动等内容。 #### 二、Jar包替换与引入 ####...
- **3.8 Struts简单例子的分析(含代码注释和配置文件说明)** - 提供了一个简单的Struts示例,并对其代码和配置文件进行了详细解释。 - **3.9 本章小结** #### 第4章 配置Struts组件 - **4.1 Web应用部署描述符*...
根据提供的文件信息,我们可以深入探讨如何使用 Spring 2.5.5、Struts 2 和 iBatis 2.3.4 构建一个集成的 Java Web 应用程序。以下是对各个部分的关键知识点的详细解释: ### 一、框架搭建与依赖库 #### 1.1 框架...
在提供的压缩包中,"Struts2 2.1.8.1Basic-Spring2.5.6.SEC01-Hibernate3-MySql5-NetBeans6.9.1"应该包含了完成这个整合实例所需的所有文件,包括源码、配置文件、数据库脚本等。使用NetBeans 6.9.1或导入到...
在CHM文件`struts2-API.chm`中,开发者可以找到上述所有概念的详细说明,包括每个类的构造函数、方法、属性以及它们的使用示例。这将极大地提高开发效率,帮助开发者更好地理解和运用Struts2框架。通过深入学习和...
本文详细介绍了如何在Struts2框架中实现动态树型结构的构建,包括后端代码的设计与实现、前端页面的布局与交互逻辑。通过这些技术点的学习,开发者可以更好地理解和应用Struts2框架来开发具有复杂数据展示需求的应用...
#### Struts2.1.8.1 Struts2是一个基于MVC设计模式的Java Web应用框架。它提供了丰富的标签库和强大的插件系统,能够极大地简化Web应用的开发过程。Struts2与Spring框架集成后,可以更好地管理业务逻辑和Web层之间的...
### Struts标签、动态ActionForm、上传组件及Struts验证框架知识点详解 #### 一、Struts标签 **Struts** 是一款基于 **MVC**(Model-View-Controller)设计模式的开源Java Web框架,它能够帮助开发者构建可扩展且...
书中详细介绍了如何将 Struts 框架应用于实际的 Web 应用开发过程中,包括但不限于:如何使用 Struts 的 MVC 架构来组织代码,如何利用其内置的标签库简化页面开发等。 #### 1.1.5 再看看 这部分内容可能是指对 ...