struts 2 标签 总结

处理请求的流程:

客户端通过浏览器发送一个请求,服务器由Struts的核心过滤器接受请求;查找struts.xml中,是否有对应的action,如果没有对应的action,则提示404的错误;如果找到了匹配的action,则创建action的代理;调用action中的set方法封装请求中的参数;调用actionexecute()方法,根据execute()方法返回的字符串,查找struts.xml中对应的result,如果找不到匹配的result,则提示404错误;如果找到匹配的result,则跳转到result指定的页面;在页面上调用actionget方法进行一行数据的显示;将结果返回给客户端。


  1. Struts2 标签库的使用

  1. Struts2 标签库的分类

  1. 通用标签

    1. 控制标签

    2. 数据标签

  2. UI标签

    1. FORM 标签

    2. FORM标签

    3. AJAX标签

  1. 导入struts的标签库

如果只是使用非AJAX类的标签,则只需要引入如下标签库:

<%@tagliburi="/struts-tags"prefix="s"%>

如果使用AJAX标签,则首先需要在项目中引入这个jar包;然后使用taglib指令导入strutsajax标签库;

<%@tagliburi="/struts-dojo-tags"prefix="sd"%>

  1. FORM 标签库的使用

1form 标签的使用

<s:formaction="addUser"method="post"theme="xhtml">

</s:form>

action 属性:表示要将请求提交到那个action

method 属性:提交请求的类型;(get| post)

theme 属性:表示使用的主题;

xhtml :以表格的方式组织表单控件;

simple :没有使用任何样式组织表单元素;

ajax ajax主题


  1. textfield 标签的使用:用来生成HTML中的<inputtype="text" />控件

<s:textfieldid="userName"name="userName"label="用户名"

theme="xhtml"value="careers"tooltip="请输入用户名"/>

label 属性用来生成控件前面的说明文字;

tooltip 属性:用来生成控件前面的提示图标;

注意:labeltooltip属性是建立在theme属性为xhtml的基础上的;


  1. password 标签的使用:用来生成HTML中的<inputtype="password" />控件

<s:passwordid="userPwd"name="userPwd"label="密码"tooltip="请输入密码"

maxlength="15"value="123456"showPassword="true"/>

maxlength 属性:指定允许输入的最大字符个数;

value 属性struts2默认对于密码框,设置value属性是不生效的,只有将showPassword属性设置为true时,密码框中才会显示值;


  1. select 标签的使用:用来生成HTML中的<select>控件

<s:selectlist="{'北京','天津','上海'}"label="城市"

name="address"headerKey="0"headerValue="请选择..."/>

list属性:指定你使用那一个集合生成select<option>选项

headerKey 属性:指定第一个下拉列表项(option)对应的value属性;

headerValue 属性:指定第一个下拉列表项显示的内容;


<s:selectlist="#{'10':'教学部','20':'市场部','30':'研发部'}"

value="'20'"listKey="key"listValue="value"name="dept"label="部门"/>

list 属性:可以指定一个map集合

listKey 属性:用来指定生成的下拉列表项(option)value属性对应"集合"中那一个属性;

listValue 属性:用来指定生成的下拉列表项的展示内容对应"集合"的那一个属性

value 属性:指定默认显示那一个下拉列表项


  1. radio 标签的使用:用来生成HTML中的<inputtype="radio" />控件

<s:radiolist="{'','','保密'}"name="gender"label="性别"/>


<s:radiolist="#{'m': '', 'f' : '','s' : '保密'}"value="'s'"

listKey="key"listValue="value"name="sex"label="性别"/>

value 属性:用来指定默认选中那一个


  1. checkboxlist 标签的使用:用来生成一组<input type="checkbox" />控件

<s:checkboxlistlist="#{'001': '篮球','002': '足球','003':'排球'}"

name="hobby"label="兴趣"value="{'001','002'}"/>


  1. checkbox 标签的使用:用来生成一个<inputtype="checkbox" />控件

<s:checkboxname="agree"label="同意"key="0"/>


  1. textarea 标签的使用:用来生成<textarea/>控件

<s:textareaname="description"label="简介"

rows="5"cols="40"/>


  1. submit 标签的使用:用来生成<input type="submit" />控件

<s:submitvalue="添加用户"/>

注意:除非你要在后台应用程序中接受按钮的值,否则不要给按钮添加name属性;因为struts会对请求中每一个参数去调用对应的setXx方法进行封装值;如果找不到对应的setXx方法,后台就会报错;


  1. AJAX标签之datatimepicker的使用

配合<sd:head/>使用

<sd:datetimepickername="birthday"label="出生日期"

displayFormat="yyyy/MM/dd"/>


  1. 数据标签的使用

作用:专门用来在页面输出各种对象范围内的值;替换el表达式

1property标签的使用

<s:propertyvalue="userName"/>

value属性指定你要显示的值的属性名称

2date标签的使用

<s:datename="birthday"format="yyyy-MM-dd"/>

name 属性指定你要显示的值的属性名称


  1. 控制标签

  1. 选择结构标签的使用

<s:iftest="userName== 'careers'">

普通用户

</s:if>

<s:elseiftest="userName== 'admin'">

管理员

</s:elseif>

<s:else>

不是合法用户

</s:else>


test 属性需要指定一个布尔类型的值;


  1. 循环结构标签的使用

<s:iteratorvalue="#request.users"var="user"

begin="2"end="8"step="2"status="st">

<s:propertyvalue="#st.index"/>&nbsp;&nbsp;&nbsp;&nbsp;

<s:propertyvalue="#user.name"/>&nbsp;&nbsp;&nbsp;&nbsp;

<s:propertyvalue="#user.age"/>&nbsp;&nbsp;&nbsp;&nbsp;

<s:propertyvalue="#user.email"/><br/>

</s:iterator>


value 属性,指定你要遍历那一个集合;

var 属性,指定你从集合出取出一个对象的名字;

begin 属性,指定从第几个开始遍历(默认从0开始);

end 属性,指定遍历到第几个结束;

step 属性,指定遍历时,每次走多少步;

status 属性,用来标识遍历的状态;


  1. OGNLObjectGraph Navigation Language)表达式对象图导航语言

OGNL 维护了一个context map



  1. 创建数组

语法:{ele1,ele2}

  1. 创建Map

语法:#{key1: value1,key2 : value2}

示例:#{'10': '教学部', '20' : '市场部', '30' : '研发部'}

  1. 使用OGNL表达式取得各个对象范围内的值

1)取得root部分的值(Action中的属性值),在取值是不需要加#;

例如:<s:propertyvalue="userName" />

  1. 取得非root部分的值(request,session,application),在取值时,需要加#

例如:取得request范围内name属性;

<s:property value="#request['name']" />

<s:property value="#request.name" />

取得session范围内的属性值

<s:property value="#session.sessionName" />

  1. % 运算:强制将字符串看成是OGNL表达式;专门用来取值;

<s:textfieldname="userName"value="%{userName}"/>



补充:将取得的值放到表单控件中

1)普通的HTML控件

<inputtype="text"value="<s:propertyvalue='userName'/>"/>

  1. 表单控件是用struts提供的标签完成的

<s:textfieldname="userName"value="%{userName}"/>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值