- <!-- 最简单的选项卡,两个选项卡加载都是本页面 -->
- <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。谢谢!