Struts2标签
来源:互联网 发布:网络ip地址怎么修改 编辑:程序博客网 时间:2024/06/06 12:33
Struts2通用标签:
Struts2中通用标签可以分为二类:控制标签和数据标签。控制标签用于呈现页面时控制执行流程,数据标签用于访问值栈中的数据。
数据标签:用于访问ActionContext和值栈中的数据。数据标签包括:
property set push param bean action include
url a i18n text date debug
控制标签:用于在呈现结果页面时控制程序的执行流程,根据程序执行的状态输出不同的结果,控制标签包括下列标签:
if/elseif/else iterator append merge
generator subset sort
数据标签-----property标签:
property标签用于输出值栈中的对象的属性(property)值,使用value属性来指定要输出的对象属性,如果没有指定value属性,那么默认输出栈顶对象。property标签属性
数据标签-----set标签:
Set标签将一个值赋给指定范围内变量。Set标签在某些情况下是比较有用的,例如在页面中多次引用一个复杂的表达式,我们可以将这个表达式赋给一个变量,然后直接引用变量。带来的好处就是:
提升了性能(表达式的计算只有一次)
提高了代码的可读性。
创建User类:
package model;public class User {private String name;private String age;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}}
创建MessageAction类:
package action;import model.User;import com.opensymphony.xwork2.ActionSupport;public class MessageAction extends ActionSupport {private User user;public User getUser() {return user;}public void setUser(User user) {this.user = user;}@Overridepublic String execute() throws Exception {// TODO Auto-generated method stubuser=new User();user.setName("csdn");user.setAge("20");return SUCCESS;}}
配置文件:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts> <package name="hello" namespace="/hello" extends="struts-default"> <action name="message" class="action.MessageAction"> <result name="success">/index.jsp</result> </action> </package></struts>
Index页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="s" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> <s:set name="xxx" value="user.name"/> <s:property value="xxx"/> <s:property value="#request.xxx"/> </body></html>
结果:
csdn csdn
数据标签-----param标签:
param标签被用作其他标签的子标签,用于为其他标签提供参数,例如:为bean标签和include标签提供参数
当使用param标签时, 参数的值可以通过value属性给出,也可以在标签体中给出(开始标签和结束标签之间的文本)。这二种用法有一些区别。我们看下面的例子:
<param name=“color”>blue</param> <!-- (1) -->
<param name=“color” value=“blue” /> <!-- (2) -->
在第(1)种情形中,参数值将作为java.lang.String对象(即字符串)被放入栈中;
在第(2)种情形中,参数值将作为表达式进行计算,如果blue不存在,则color参数的值为null。
在第(1)种情形中,要为color指定字符串值,可以写为:
<param name=“color” value=“ ‘ blue ‘ ”/>或者<param name=“color” value=“%{‘ blue ‘ }“/>
使用单引号包围字符串,表明这是一个字符串常量
数据标签-----bean标签:
bean标签用于实例化一个JavaBean对象(必须遵照JavaBean规范),bean标签的标签体内可以包含多个param标签,用于设置Bean的属性(必须有相应的setter方法)。如果指定了id属性(Struts2.2.1.1已经不建议使用,使用var属性替代),则创建的Bean实例将被放入到OgnlContext中。
注意:
id属性是可选的,无论是否指定id属性,bean标签创建的JavaBean实例都会被压入到值栈的顶部,在bean标签内部可以直接访问创建的对象,无须使用”#”标记,当bean标签结束的时候,bean标签创建的实例将从值栈中删除。
如果指定了id属性,那么bean标签创建的JavaBean实例还将被放到OgnlContext中,这样在bean标签的外部,也可以访问创建的对象了,不过此时就要使用”#”标记了。
index页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="s" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> <s:bean name="model.User"> <s:param name="name" value="'csdn'"/> <s:param name="age" value="'20'"/> <s:property value="name"/> <s:property value="age"/> </s:bean> </body></html>
结果:
csdn 20
数据标签-----include标签:
在jsp2.jsp中,我们使用JSP的EL表达式来获取传的请求参数。
#parameters引用的实质是一个Map对象,并不等同于HttpServletRequest对象。
在包含页面时,如果页面中有中文,将会出现乱码,要解决这个问题,可以在Struts.xml文件中配置Struts.i18n.encoding属性,如下:
<constant name=“Struts.i18n.encoding” value=“gbk” />
Index页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="s" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> <s:include value="include.jsp"> <s:param name="name" value="'csdn'"/> <s:param name="age" value="'22'"/> </s:include> </body></html>
Include页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="s"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>My JSP 'include.jsp' starting page</title> </head> <body> ${param.name } ${param.age } </body></html>
结果:
csdn 22
- struts2标签
- struts2标签
- struts2标签
- Struts2 标签
- struts2标签
- struts2标签
- struts2 标签
- Struts2 标签
- Struts2标签
- struts2 标签
- Struts2标签
- struts2标签
- Struts2 标签
- struts2标签
- struts2 标签
- struts2标签
- struts2 标签
- struts2标签
- zoj1091题解
- 作业3
- Learning the parts of object by NMF
- HDU 1576 A/B
- <<OCM实验选讲>> 第五课 数据备份恢复实验
- Struts2标签
- cocos2dx场景切换小例子
- JVM调优分享-(概要+例子)
- dede用户登录时,跳转到提示页时报404错误
- opencv 关于 cvCalcHist的含义(1)
- unix高级环境编程 例子 代码实现练习 第七章:进程环境
- 序言
- 二叉树的层次遍历
- ARCH UEFI 想说爱你不容易