1、第15章struts2标签讲解Struts标签:1.通用标签:(1)property(2)bean(3)param(4)debug2.控制标签:(1)if elseif else(2)iterator一、property标签类似于上节课的例子,1.在WebRoot下新建一个index_tags.jsp: My JSP index.jsp starting page 访问属性:tags 2.新建一个my.tags.TagsAction:package my.tags;import com.opensymphony.xwork2.ActionSupport;public class TagsAct
2、ion extends ActionSupport private String username; private String password; public String execute() this.addFieldError(fielderror.test, wrong!); return SUCCESS; public String getUsername() return username; public void setUsername(String username) this.username = username; public String getPassword()
3、 return password; public void setPassword(String password) this.password = password; 3.修改struts.xml: /WEB-INF/page/tags.jsp 4.在WEB-INF/page下新建tags.jsp: My JSP tags.jsp starting page property: property赋值为字符串: property设为默认值: property设定HTML:s:property value= escape=true/ 测试:在地址栏输入:http:/localhost:8080/
4、ch2_example1/index_tags.jsp点击超链接tags得到下面的结果:1. property:aaa 2. property赋值为字符串:username 3. property设为默认值:管理员 4. property设定HTML: 解释: property:这个用法上节课已经讲过,不解释了。 property赋值为字符串:这是把username作为字符串处理。 property设为默认值:这是给admin赋默认值,如果admin有值,则取它的值显示,如果没有,则显示默认值。 property设定HTML:s:property value= escape=true/如果把e
5、scape改为false,则将对进行解析。2、Bean标签:Bean标签用于创建一个JavaBean的实例,创建实例时通过给JavaBean传入参数。如果通过给JavaBean传入属性值则需要给JavaBean设置Setter方法,如果需要访问JavaBean的属性则需要设置Getter方法。Bean标签有两个属性:1.Name:必填的属性,指定需要实例化的Java类2.Var:可选项。如指定了该属性,则该JavaBean实例会被放入StackContext中(不是ValueStack),从而允许直接通过该var属性来访问该JavaBean的实例。新建Person类package my.ogn
6、l;public class Person private String name; private String major; public String getName() return name; public void setName(String name) this.name = name; public String getMajor() return major; public void setMajor(String major) this.major = major; public String method1() return 来自JavaBean的方法; public
7、String method1(String name) return name+来自JavaBean的方法; 新建index1.jsp: base href= My JSP index1.jsp starting page !- - my name is: 访问该jsp,得到结果为:修改index1.jsp: my name is: 得到的结果是一样的。如果想访问JavaBean中的方法,修改index1.jsp: my name is: 测试结果为:在tags.jsp中加入,通过debug标签查看结果 定义bean: 定义bean: 在tags.jsp中加入以下语句:查看结果及值栈内容: 定
8、义bean: 结果为:注意:开始的时候,新建对象,放到栈顶。执行结束,对象就不在栈中了。所以一定要在中赋值和取值,否则取不到。如果想在执行完之后还能使用,就用var。修改var这一部分: 定义bean: 取狗的名字:注意:此时mydog是放在了ActionContext中,可以通过#取出来。三、fielderror标签修改tags.jsp 查看输出结果。四、if、elseif、else标签修改tags.jsp: if,elseif,else:age= 在地址栏输入:http:/localhost:8080/ch2_example1/test/tags.action?username=aaa&p
9、assword=bbb&age=8&age=10得到一个集合if,elseif,else:age= 8, 10 如果希望得到集合中的第一个值,则写为: if,elseif,else:age= 在刚才的基础上使用分支控制标签: if,elseif,else:age= s:if test=#parameters.age0wrong data s:elseif test=#parameters.age0still child mr right! 修改地址栏传入的年龄值,查看不同的结果。继续修改tags.jsp:如果没有aaa这个属性,则可以这样判断: aaa is null 五、iterator标签
10、 遍历集合: | 自定义变量: | 1. 遍历集合: 1 | 2 | 3 | 2. 自定义变量: AAA | BBB | CCC | 使用status: | 遍历的元素个数: 遍历的元素索引: 遍历的是否偶数: 遍历的是否奇数: 遍历的是否第一个? 遍历的是否最后一个? 输出结果为:1. 使用status: aaa | 遍历的元素个数:1 遍历的元素索引:0 遍历的是否偶数:false 遍历的是否奇数:true 遍历的是否第一个?true 遍历的是否最后一个?false bbb | 遍历的元素个数:2 遍历的元素索引:1 遍历的是否偶数:true 遍历的是否奇数:false 遍历的是否第一个?
11、false 遍历的是否最后一个?false ccc | 遍历的元素个数:3 遍历的元素索引:2 遍历的是否偶数:false 遍历的是否奇数:true 遍历的是否第一个?false 遍历的是否最后一个?true 修改tags.jsp: 映射: | 映射: | 结果为:映射: 1|a 2|b 3|c 映射: 1|a 2|b 3|c 【作业】设计一个jsp页面,要求包含以下标签,该页面的主题自定。checkbox、checkboxlist、comboboxdate、doubleselect、labelpassword、radioreset、selecttext、textarea、textfield要求查阅struts文档,将这些标签的介绍和属性也要写在大作业中。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1