struts2标签应用

1、 下拉框<s:select>

<s:select name="" value="" list="" listKey="" listValue=""></s:select>

这里有三种用法:第一种用法,直接从页面取值展现选择:

<s:select name="emp.city" theme="simple" value="'2'" list="#{'1':'西安','2':'北京','3':'天津','4':'南京'}"></s:select>

这里,list里面是一个一个的键值对,注意的是每个必须要用’’来包含。Value=””,表示的是默认的选项,

第二种用法,list从action传递过来,list里面包含的是一个一个对象。其实value里面的值也可以传递过来,这里没那么做,都是一样的用法。

<s:select name="emp.city" theme="simple" value="'1'" list="list" listKey="cid" listValue="cname"></s:select>

在action存储的list:

private static List<City> list;

static{ list = new LinkedList<City>();

list.add(new City(1,"北京")); list.add(new City(2,"上海")); list.dd(new City(3,"杭州"));

list.add(new City(4,"成都")); list.add(new City(5,"西安")); }

而,City类为:

public class City { private int cid;private String cname;}因为这里是默认存储在ValueStrack中,所以可以直接取值,listKey这里指的是City的cid,listValue指的是这里的是City的cname。

第三种用法:list里面存储的是map

<s:select name="emp.city" theme="simple" value="'1'" list="map" />

在action中存储的是:private static Map map;

static{map= new HashMap(); map.put(1, "成都"); map.put(2, "上海"); map.put(3, "北京")}

它会把map中的键当做值,map中的值当作页面展现的值

7、 多选框<s:checkbox/>

<s:checkboxlist name=" " list=" " listKey="" listValue="" value=""></s:checkboxlist>

第一种用法:list从action中传递过来一个list容器,

<s:checkboxlist theme="simple" name="emp.xqid" list="xqs" listKey="xqid" listValue="xqmc" value="{1,3}"></s:checkboxlist>

在action中: private List<Xq> xqs

static{ xqs= new ArrayList<Xq>(); xqs.add(new Xq(1, "足球"));

xqs.add(new Xq(2, "篮球")); xqs.add(new Xq(3, "排球"));

xqs.add(new Xq(4, "乒乓球")); xqs.add(new Xq(5, "网球"));}

Xq对象为:public class Xq { private int xqid; private String xqmc;}

第二种写法:

<s:checkboxlist theme="simple" name="emp.xqid" list="#{'1':'足球','2':'蓝球','3':'排球','4':'网球','5':'乒乓球','10':'爬山'}" value="{'1','3'}"></s:checkboxlist>

请注意这里的list要加”#”来引出数据

第三种写法:

<s:set name="xqs" value="#{'1':'足球','2':'蓝球','3':'排球','4':'网球','5':'乒乓球','10':'爬山'}"></s:set>

<s:checkboxlist theme="simple" name="emp.xqid" list="xqs" value="{'1','3'}"></s:checkboxlist>

这里主要是先把值存储起,然后在展开取值

第四中用法:list的值从ValueStrack中取出的是一个装有对象的list容器。

比如说 <s:checkboxlist list="xtjss" name="jsbhs" listKey="jsbh" listValue="jsmc" value="myjsbh" ></s:checkboxlist>

list是装有的是存放 private List<Xtjsb> xtjss = new ArrayList<Xtjsb>();

listKey="jsbh" 和 listValue="jsmc"指的是

public class Xtjsb implements java.io.Serializable {

private Integer jsbh; private String jsmc;

private String jsms; private Set yhjses = new HashSet(0);}

value="myjsbh"指的是private List<Integer> myjsbh = new ArrayList<Integer>();//自己之前的所拥有的角色编号,这个应用一般在修改的时候应用

8、取值存值标签 <s:set name=" " value="" scope=”” ></s:set>


value指的是取值,如果是action中传过来的需要接收,name指的是以该名称存起来,scope指的是存储的范围

第一种用法:

<s:set name="xqs" value="#{'1':'足球','2':'蓝球','3':'排球','4':'网球','5':'乒乓球','10':'爬山'}" ></s:set>

这里是把该值以xqs存储起来,默认存储在page中.

在从页面中取值:

<s:checkboxlist theme="simple" name="emp.xqid" list="xqs" value="{'1','3'}"></s:checkboxlist>

第二种用法:

action中存储了一个属性: private String h = "helo";默认在值堆栈中存储(ValueStrack)

在页面中取值 <s:set name="bb" value="h" scope="page"></s:set>

<s:property value="h"/>和${bb}输出的内容是一样的

如果存储在request中那么取值为:

<s:set name="abc" value="#request.h" scope="page"></s:set> ${abc}就用这样取值

9、 迭代标签<s:itertor> <s:iterator value="" status="i">

第一种用法,迭代一组对象(Map对象):

<s:iterator value="depts" ><!--每次迭代出来一个对象 -->

<s:property value="value.deptid"/>--<s:property value="value.deptname"/>

-<s:property value="value.deptnum"/>--<s:property value="value.deptdesc"/><br>

</s:iterator>

也可以这样写:默认的就是一个一个对象

<s:iterator value="depts.values" ><!-- 每次迭代是得到的它的值的一个对象。-->

<s:property value="deptid"/>--<s:property value="deptname"/>--

<s:property value="deptnum"/>--<s:property value="deptdesc"/><br> </s:iterator>

第二种用法:记录下标(也是展现的是Map容器)

<s:iterator value="depts.values" status="i">

--${i.first}--${i.last}--${i.index}—(下标从”0”开始) <s:property value="deptid"/>--

<s:property value="deptname"/>--<s:property value="deptnum"/>--<s:property value="deptdesc"/><br> </s:iterator>

i.first:表示的是首个下标(从0开始) i.last:表示最后一个下标 i.index:表示当前迭代时候的下标

第三中用法,value自己定义:

<s:iterator value="{'张三','李四','王五','赵六'}">

<s:property/>会每次循环出value里面的值来的 </s:iterator>

10、<s:property value=""/> 从jsp页面中取值得到action中属性的值

用法1:action中属性为普通类型

private String s; Jsp页面取值:<s:property value="s"/>

用法2:action中属性为对象类型,jsp页面取值该对象的属性

private Dept dept;

<s:property value="dept.deptid"/>-- <s:property value="dept.deptname"/>--

<s:property value="dept.deptnum" />-- <s:property value="dept.deptdesc"/>

11、<s:textfield name="" label="" theme="" />

文本输入框,name指的是文本框名,label指的是页面显示名,theme一般 设置为simple。

12、 <s:bean name="" id=" ">

<s:param name="">****</s:param> <s:property value="" /><br>

</s:bean>在jsp页面给po对象属性赋值。取值

比如说: package org.www.po;

public class Emp{

private int empid; private String empname;………………get和set方法略 }

在jsp页面 <s:bean name=" org.www.po.Emp" id="uid">

<s:param name="empid">1 </s:param>

<s:param name="empname">zhangsan</s:param> <s:property value="empname" /><br>

<s:property value="empid" /> </s:bean>

用<s:property value=""/>就能取值,但是要注意的是这样写的话必须在<s:bean>内有效


13、<s:set name="" value="" scope=””/>

这里是把jsp页面中的一个值,以name存储起来。Scope存储的范围是在application、session、request、page………………。默认是存储在该action中。

用法一: <s:set name="technologyName" value="{'Java','c++','php'}"/>

<s:iterator value="technologyName"/></s:iterator>

这里的值是一个list容器,请注意:list、set容器 不加”#”,map要加”#”。

用法二: <s:set name="one" value="111" />这个是整形, 如果value的值是个int或则long类型,那么就要在输出的时候加#,把它当作字符串输出,默认的是以字符串输出

<s:property value="#one"/>要加#

<s:set name="one" value="'111'" />这个是字符串 <s:property value="one"/>


用法三: <s:set name="one" value="'111'" scope="request"/>

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

<s:set name="one" value="'111'" scope="session"/>


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

<s:set name="one" value="'111'" scope="page"/>

<s:property value="#attr.one"/> attr.***默认是从 page, request, session, then application scopes
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值