struts2学习---struts2常用标签(上)
2016-05-05 16:41
537 查看
首先给大家介绍一下用到的文件目录如下:
struts.xml文件内容:
TagsAction.java文件:
Dog.java文件
index.jsp内容:
tags.jsp内容:
总结:
(一)、property标签
property标签 作用简介: property标签用于取得value的属性值。
1.显示Action中的属性值:
实例如下:
2.显示字符串,使用单引号:
例:
3.显示默认值,Action中找不到指定的属性时,显示default属性的值:
例:
4.解析HTML字符串,escape默认值为true,直接输出字符串,escape设为false时,
解析HTML字符串。
实例如下:
(二)、 set标签
简介:set标签用于赋予变量一个特定范围的值( 常常在需要改变变量名称时使用)
1.set的属性:
a. var:设置变量的名称,string类型,不推荐使用id和name设置变量的名称;
b. value:设置变量的值;object类型
c. scope:作用范围,可以设置page,request,session,application,action;
2.不设置scope时,变量默认保存在request和ActionContext中。
实例如下:
(三)、bean标签
简介:bean标签用于设置JavaBean的值
1.bean标签的属性:
a. name:JavaBean的类名,不推荐使用id;
b. var:JavaBean对象名,可以通过“#”访问。
2.在bean标签中,使用标签设置JavaBean对象的属性值,
其中value的值为OGNL表达式,字符串应使用单引号;
3.如果不设置“var”属性,JavaBean对象只在bean标签中有效,在bean标签外部无法访问。
实例如下:
(四)、include标签
简介:用于包含指定的页面
1.include标签的属性:
value:被包含页面的地址,字符串类型,如果是OGNL表达式,则要使用以下形式:%{OGNL表达式};
实例如下:
struts.xml文件内容:
<?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"> <!-- http://struts.apache.org/dtds/struts-2.3.dtd定义了这个xml文件需要提示的语法内容 --> <struts> <!-- 设置为开发模式--> <constant name="struts.devMode" value="false" /> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant> <!-- 设置字符集 --> <package name="tags" namespace="/" extends="struts-default"> <action name="tags" class="com.mayday.struts.tags.TagsAction" > <result >/tags.jsp</result> </action> </package> </struts>
TagsAction.java文件:
package com.mayday.struts.tags; import com.opensymphony.xwork2.ActionSupport; public class TagsAction extends ActionSupport { private String password; private String username; public TagsAction() { super(); } public TagsAction(String username, String password) { super(); this.username = username; this.password = password; } public String getPassword() { return password; } public String getUsername() { return username; } public void setPassword(String password) { this.password = password; } public void setUsername(String username) { this.username = username; } public String excute(){ return SUCCESS; } }
Dog.java文件
package com.mayday.struts.tags; public class Dog { private String nameString; public String getNameString() { return nameString; } public void setNameString(String nameString) { this.nameString = nameString; } public Dog(String nameString) { super(); this.nameString = nameString; } public Dog() { super(); } public String toString( ){ return "Dog:"+nameString; } }
index.jsp内容:
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>Insert title here</title> </head> <body> 访问属性:<a href="TagsAction?username=kangjing&password=123456">Tags</a> </body> </html>
tags.jsp内容:
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <%@taglib uri="/struts-tags" prefix="s"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>Insert title here</title> </head> <body> <ol> <li><b>property标签</b></li> <li>property(访问ognl表达式里面的值 username="kangjing"):<s:property value="username"/> <li>property:访问字符串(username字符串本身):<s:property value="'username'"/> <!-- 标签的属性有的是ognl表达式,有些为字符串,容易混淆,property的value的类型是object, 默认将字符串 解析为ognl表达式,如果想要字符串本身,则需要双引号里面加单引号,如下:--> <li>property:设置默认的值(值栈中是没有admin这个值的,当设置了默认值之后,如果value为空,则取默认值):<s:property value="admin" default="管理员"/> <li>property:设置HTML<s:property value="'<hr/>'" escape="true"/> <!-- 默认escape="false" 输出为横线,当设置为true则输出<hr/> --> <hr/> <!-- set标签在需要换名的情况下用的比较多 --> <li><b>set标签</b></li> <li>set设置adminname(默认取值的域为ActionContext和request):<s:set var="adminname" value="username"/></li> <!-- 这句话的意思是:它会把设置的变量adminname即放到request里面又会放到actionContext里面,它的值为username的值--> <li>从request取值:<s:property value="#request.adminname"/> </li> <li>从ActionContext取值:<s:property value="#adminname"/> </li> <li>set设置范围(默认范围为request、ActionContext):<s:set name="adminpassword" value="password" scope="page" /></li> <li>从相应范围取值(从page取值):<%=pageContext.getAttribute("adminpassword") %></li> <li> set设定 var,范围为ActionContext<s:set var="adminpassword" value="password"/> </li> <li> set设置var 范围为session <s:set var="adminpassword" value="password" scope="session" /></li> <li>从相应为范围取值:<s:property value="#adminpassword"/> <hr/> <li><b>bean标签</b></li> <li> bean定义bean ,使用param来设置新的属性值 <s:bean name="com.mayday.struts.tags.Dog" var="mydog"> <s:param name="nameString" value="'oudy'"></s:param> <s:property value="#mydog"/> </s:bean> <!-- 只有定义了var才能在actionContext里面看见mydog对象 --> </li> <hr/> <li><b>include标签</b></li> <li> include 包含静态英文文件(include1.html): <s:include value="/include1.html"/></li> <li> include 包含静态中文文件(include2.html): <s:include value="/include2.html"/></li> <li>使用include标签 包含 include1.html文件,说明%的用法</li> <s:set var="inCpage" value="include2.html"></s:set> <s:include value="#inCpage"></s:include> <!-- include标签的value类型为string类型,如果用上面的方式访问则是找#inCpage 文件, 把它当做字符串处理了,则需要下面的方法访问:--> <s:include value="%{#inCpage}"></s:include> <s:debug></s:debug> </body> </html>
总结:
(一)、property标签
property标签 作用简介: property标签用于取得value的属性值。
1.显示Action中的属性值:
<s:property value="属性名" />
实例如下:
<li>property(访问ognl表达式里面的值 username="kangjing"):<s:property value="username"/>
2.显示字符串,使用单引号:
<s:property value="'字符串'" />
例:
<li>property:访问字符串(username字符串本身):<s:property value="'username'"/>
3.显示默认值,Action中找不到指定的属性时,显示default属性的值:
<s:property value="属性名" default="默认值" />
例:
<li>property:设置默认的值(值栈中是没有admin这个值的,当设置了默认值之后,如果value为空,则取默认值): <s:property value="admin" default="管理员"/>
4.解析HTML字符串,escape默认值为true,直接输出字符串,escape设为false时,
解析HTML字符串。
实例如下:
<li>property:设置HTML<s:property value="'<hr/>'" escape="true"/> <!-- 默认escape="false" 输出为横线,当设置为true则输出字符串<hr/> -->
(二)、 set标签
简介:set标签用于赋予变量一个特定范围的值( 常常在需要改变变量名称时使用)
1.set的属性:
a. var:设置变量的名称,string类型,不推荐使用id和name设置变量的名称;
b. value:设置变量的值;object类型
c. scope:作用范围,可以设置page,request,session,application,action;
2.不设置scope时,变量默认保存在request和ActionContext中。
实例如下:
<li>set设置adminname(默认取值的域为ActionContext和request): <s:set var="adminname" value="username"/></li> <!-- 这句话的意思是:它会把设置的变量adminname即放到request里面又 会放到actionContext里面,它的值为username的值--> <li>从request取值:<s:property value="#request.adminname"/> </li> <li>从ActionContext取值:<s:property value="#adminname"/> </li> <li>set设置范围(默认范围为request、ActionContext):<s:set name="adminpassword" value="password" scope="page" /></li> <li>从相应范围取值(从page取值):<%=pageContext.getAttribute("adminpassword") %></li> <li> set设定 var,范围为ActionContext<s:set var="adminpassword" value="password"/> </li> <li> set设置var 范围为session <s:set var="adminpassword" value="password" scope="session" /></li> <li>从相应为范围取值:<s:property value="#adminpassword"/>
(三)、bean标签
简介:bean标签用于设置JavaBean的值
1.bean标签的属性:
a. name:JavaBean的类名,不推荐使用id;
b. var:JavaBean对象名,可以通过“#”访问。
2.在bean标签中,使用标签设置JavaBean对象的属性值,
其中value的值为OGNL表达式,字符串应使用单引号;
3.如果不设置“var”属性,JavaBean对象只在bean标签中有效,在bean标签外部无法访问。
实例如下:
<li> bean定义bean ,使用param来设置新的属性值 <s:bean name="com.mayday.struts.tags.Dog" var="mydog"> <s:param name="nameString" value="'oudy'"></s:param> <s:property value="#mydog"/> </s:bean> <!-- 只有定义了var才能在actionContext里面看见mydog对象 --> </li>
(四)、include标签
简介:用于包含指定的页面
1.include标签的属性:
value:被包含页面的地址,字符串类型,如果是OGNL表达式,则要使用以下形式:%{OGNL表达式};
实例如下:
<li>使用include标签 包含 include1.html文件,说明%的用法</li> <s:set var="inCpage" value="include2.html"></s:set> <s:include value="#inCpage"></s:include> <!-- include标签的value类型为string类型,如果用上面的方式访问则 是找#inCpage 文件,把它当做字符串处理了,则需要下面的方法访问:--> <s:include value="%{#inCpage}"></s:include>
相关文章推荐
- Spring Mvc4.2学习笔记-第一节 spring mvc对比struts2优势
- java log4j 日志
- Fragment下listview item设置fragment,
- Java Memory Model
- java IO体系的学习总结
- MyEclipse建立SpringMVC入门HelloWorld项目
- JAVA正则表达式 Pattern和Matcher
- Java中23种设计模式简介
- Maven配置和打包以及使用Eclipse构建Maven项目
- spring 、springMVC、struts2、hibernate 、mybatis
- Junit4 整合 Spring
- 【行为型模式】策略模式(Strategy)之23种java设计模式
- Java中的 io流 (1 文件流)
- eclipse主题插件
- Maven: Setting maven build goals in eclipse
- Java 8 新特性:泛型目标类型推断
- springmvc 使用fastjson 处理 json 数据时中文乱码
- springmvc使用@responsebody返回字符串乱码问题
- Spring集成MyBatis
- K3/ERP、fineprint8.0版cology8.1最新出炉JAVA功能越来越Fineport8.0