实验五.docx

上传人:b****5 文档编号:4937406 上传时间:2022-12-11 格式:DOCX 页数:42 大小:299.15KB
下载 相关 举报
实验五.docx_第1页
第1页 / 共42页
实验五.docx_第2页
第2页 / 共42页
实验五.docx_第3页
第3页 / 共42页
实验五.docx_第4页
第4页 / 共42页
实验五.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

实验五.docx

《实验五.docx》由会员分享,可在线阅读,更多相关《实验五.docx(42页珍藏版)》请在冰豆网上搜索。

实验五.docx

实验五

实验序号

5

实验名称

Struts2标签库

实验地点

Sc1303

实验日期

2016年3月14日

一、将BBS中的index.jsp的显示方式改为struts标签+OGNL的显示方式。

二、在ognl的基础上验证iterator、if、实现奇偶行不同颜色效果、append、merge、subset、按自定义的条件取集合中的匹配元素为子元素、按自定义的条件对集合中的元素进行排序、分隔字符串等标签的实现。

三、完成会员在线注册功能后,单击“提交”按钮进行处理,注册成功则在success.jsp页面显示相应的注册信息。

四、在index.jsp页面上添加“修改用户信息”功能,添加”modify_user.jsp”页面,实现用户的修改功能。

 

一、将BBS中的index.jsp的显示方式改为struts标签+OGNL的显示方式。

将所有的值栈和非值栈中的值用struts标签代替c标签。

useBeanid="d"class="java.util.Date"scope="page">

useBean>

image/logo.png">

系统设置

useBeanid="wd"class="java.util.Date"scope="page"/>

textname="welcomeMsg">

param>

propertyvalue="#session.loginname"/>

param>

param>${wd}

param>

text>

iteratorvalue="#request.items"id="item">

--栏目-->

image/collapsed_no.gif"

alt="收起/展开"name="category_1_img"width="8"height="9"

id="category_1_img"title="收起/展开"

onclick="toggle_collapse('category_1');"/>

propertyvalue="#item.itemName">

property>

--栏目标题-->

 栏目标题

--栏目-->

--栏目介绍-->

textname="Columnmoderator"/>:

propertyvalue="#item.username">

property>

--栏目版主-->

cellspacing="0">

textname="subcolumn"/>

--子栏目-->

iteratorvalue="#item.sublist"id="sublist">

href="showAllTopic.action?

subItemID=

propertyvalue='#attr.ontItems.subItemID'/>¤tPage=1">

property

value="#attr.ontItems.subItemName"/>

propertyvalue="#sublist.subItemName">

property>

--子栏目标题-->

propertyvalue="#sublist.subItemDescription">

property>

--子栏目介绍-->

propertyvalue="#sublist.username">

property>

--子栏目版主-->

propertyvalue="#sublist.num">

property>

iterator>

--栏目-->

iterator>

 

博爱论坛系统©2015重庆文理学院软件工程学院夏单单版权所有

ICP证1000001号

关于我们·联系方式·意见反馈·帮助中心



iteratorvalue="#request.items"id="item">

propertyvalue="#item.itemName">

property>

iteratorvalue="#item.sublist"id="sublist">

propertyvalue="#sublist.subItemName">

property>

iterator>

iterator>



iftest="${requestScope.items!

=null}">

forEachitems="${requestScope.items}"var="item">

${item.itemName}

iftest="${item.sublist!

=null}">

forEachitems="${item.sublist}"var="subitem">

${subitem.subItemName}

forEach>



if>

forEach>

if>

二、在ognl的基础上验证iterator、if、实现奇偶行不同颜色效果、append、merge、subset、按自定义的条件取集合中的匹配元素为子元素、按自定义的条件对集合中的元素进行排序、分隔字符串等标签的实现。

在jsp页面使用s:

iterator和s:

if标签来实现隔行换色,value直接取值栈中的值,如果是偶数行,则设为红色,否则设为蓝色。

s

iterator隔行换色

iteratorvalue="list1"status="vs"var="list11">

iftest="#vs.odd">

red">

propertyvalue="#list11"/>


if>

else>

blue">

propertyvalue="#list11"/>


else>

iterator>



使用s:

append标签进行集合合并,var中放新的集合的名字,子集合以s:

param参数的形式合并在新集合中。

用iterator进行遍历。

append用法(将多个集合合并为新的集合)

appendvar="newStringList">

paramvalue="list1">

param>

paramvalue="list2">

param>

append>

iteratorvalue="#newStringList"var="strlist">

propertyvalue="#strlist"/>

iterator>



Merge将多个集合对象拼成一个集合对象,用法同append相同,只是拼接顺序的不同。

同样遍历用iterator遍历。

merge用法(与append相同,顺序不同)

mergevar="newMergeList">

paramvalue="list1">

param>

paramvalue="list2">

param>

merge>

iteratorvalue="#newMergeList"var="strlist">

propertyvalue="#strlist"/>

iterator>



Subset取集合中的部分元素为子集合,有多种使用方法,可以取下标及个数,也可以取相应的条件,根据自定义写过滤条件,首先需要写相应的过滤类实现Decider接口及其方法,方法里面写上过滤条件,在jsp页面中,首先用bean标签实例化一个对象(该过滤类的对象),再在遍历时调用即可。

subset用法1(取集合中的部分子集1.按下标值取个数,在取值注意要加attr.ListName)

subsetsource="list1"var="newMergeList"start="1"count="2">

iteratorvalue="#attr.newMergeList"var="list">

propertyvalue="#list"/>

iterator>

subset>



subset用法2(使用过滤条件,先写工具类并实现Decider借口,写入方法并写出过滤条件,其次,在jsp页面先用bean标签实例化一个对象)

beanvar="whereRef"name="util.WhereName">

bean>

subsetsource="userList"var="newSubset2List"decider="whereRef">

iteratorvalue="#attr.newSubset2List"var="ulist">

登录名:

propertyvalue="#ulist.loginname"/>

分数:

propertyvalue="#ulist.score"/>

iterator>

subset>

Sort标签根据comparator属性指定的比较器对集合进行排序,并将排序后的迭代器压入值栈的栈顶。

首先也需要先实现comparator接口,并填写其方法,写入排序条件,用法同subset类似。

在sort标签的内部,使用iterator标签取出栈顶的迭代器对排序后的元素进行迭代。

当sort标签结束时,栈顶的迭代器将被删除.

sort排序标签(先写类实现compator接口,再在页面实例化调用)

beanname="util.SortScore"var="sortRef">

bean>

sortcomparator="#sortRef"source="userList"var="newSortList">

iteratorvalue="#attr.newSortList"var="sortlist">

propertyvalue="#sortlist.loginname"/>

propertyvalue="#sortlist.score"/>

iterator>

sort>

generator标签用来将指定的字符串按规定的分隔符分解为多个子字符串,生成的多个子字符串可以使用iterator标签输出。

generatorval="'123,456,333'"var="genstr"separator=",">

generator>

iteratorvalue="#attr.genstr"var="str">

propertyvalue="#str"/>

iterator>

三、完成会员在线注册功能后,单击“提交”按钮进行处理,注册成功则在success.jsp页面显示相应的注册信息。

用户在register.jsp页面填写注册信息,传递后台,后台存入数据库,再把数据传至success.jsp页面,显示用户的注册信息.

需要通过login.jsp页面进入Action层将数据准备好,传至注册页面动态加载select、checkboxlist、combox等实体数据。

packagecom.xdd.bean;

publicclassCity{

privateStringcid;

privateStringcvalue;

publicStringgetCid(){

returncid;

}

publicvoidsetCid(Stringcid){

this.cid=cid;

}

publicStringgetCvalue(){

returncvalue;

}

publicvoidsetCvalue(Stringcvalue){

this.cvalue=cvalue;

}

publicCity(Stringcid,Stringcvalue){

super();

this.cid=cid;

this.cvalue=cvalue;

}

}

packagecom.xdd.bean;

publicclassHobby{

privateStringid;

privateStringidvalue;

publicStringgetId(){

returnid;

}

publicvoidsetId(Stringid){

this.id=id;

}

publicStringgetIdvalue(){

returnidvalue;

}

publicvoidsetIdvalue(Stringidvalue){

this.idvalue=idvalue;

}

publicHobby(Stringid,Stringidvalue){

super();

this.id=id;

this.idvalue=idvalue;

}

}

packagecom.xdd.bean;

publicclassNation{

privateStringid;

privateStringidvalue;

publicStringgetId(){

returnid;

}

publicvoidsetId(Stringid){

this.id=id;

}

publicStringgetIdvalue(){

returnidvalue;

}

publicvoidsetIdvalue(Stringidvalue){

this.idvalue=idvalue;

}

publicNation(Stringid,Stringidvalue){

super();

this.id=id;

this.idvalue=idvalue;

}

}

packagecom.xdd.bean;

publicclassProvence{

privateStringpid;

privateStringpvalue;

publicStringgetPid(){

returnpid;

}

publicvoidsetPid(Stringpid){

this.pid=pid;

}

publicStringgetPvalue(){

returnpvalue;

}

publicvoidsetPvalue(Stringpvalue){

this.pvalue=pvalue;

}

publicProvence(Stringpid,Stringpvalue){

super();

this.pid=pid;

this.pvalue=pvalue;

}

}

packagecom.xdd.util;

 

importjava.util.ArrayList;

importjava.util.HashMap;

importjava.util.List;

importjava.util.Map;

importcom.xdd.bean.City;

importcom.xdd.bean.Provence;

 

publicclassAddAddress{

privateMap>shengshiList=newHashMap>();

privateString[]params1={"吉林市","长春市","辽源市","通话市","白山市","松原市"};

privateString[]params2={"渝中区","涪陵区","南岸区","北碚区"};

privateString[]params3={"黄浦区","金山区","宝山区","浦东新区","松江区"};

publicMap>addPro(){

Listcity1=newArrayList();

city1=this.addList(params1);

shengshiList.put(newProvence("1","吉林省"),city1);

Listcity2=newArrayList();

city2=this.addList(params2);

shengshiList.put(newProvence("2","重庆市"),city2);

Listcity3=newArrayList();

city3=this.addList(params3);

shengshiList.put(newProvence("3","上海市"),city3);

returnshengshiList;

}

publicListaddList(String[]params){

Listcity=newArrayList();

for(inti=0;i

{

city.add(newCity(String.valueOf(i),params[i]));

}

returncity;

}

}

packagecom.xdd.util;

importjava.util.ArrayList;

importjava.util.List;

importcom.xdd.bean.Hobby;

publicclassAddHobby{

 

publicListaddHobby(){

Listhobbies=newArrayList();

hobbies.add(newHobby("1","看书"));

hobbies.add(newHobby("2","写字"));

hobbies.add(newHobby("3","听歌"));

hobbies.add(newHobby("4","逛街"));

returnhobbies;

}

}

packagecom.xdd.util;

importjava.util.ArrayList;

importjava.util.List;

importcom.xdd.bean.Nation;

p

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1