struts1 标签Word下载.docx

上传人:b****4 文档编号:16637995 上传时间:2022-11-25 格式:DOCX 页数:18 大小:22.60KB
下载 相关 举报
struts1 标签Word下载.docx_第1页
第1页 / 共18页
struts1 标签Word下载.docx_第2页
第2页 / 共18页
struts1 标签Word下载.docx_第3页
第3页 / 共18页
struts1 标签Word下载.docx_第4页
第4页 / 共18页
struts1 标签Word下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

struts1 标签Word下载.docx

《struts1 标签Word下载.docx》由会员分享,可在线阅读,更多相关《struts1 标签Word下载.docx(18页珍藏版)》请在冰豆网上搜索。

struts1 标签Word下载.docx

*******

imgpage="

images/zhangying.gif"

/>

对应

imgsrc="

传参数

jspimage.jsp"

paramId="

id"

paramName="

1"

jspimage.jsp?

id=1"

****<

link>

3个属性pagehrefforward

代替Html中超链接标记

ahref="

sueccess.jsp"

跳转<

/a>

linkpage="

logout.jsp"

相对路径page

注销

/html:

注销<

linkhref="

"

绝对路径href

sohu网站

sohu网站<

struts-config.xml中的global-forwards

forward

linkforward="

success"

对应全局转发

成功页面

/success.jsp"

成功页面<

传参数:

paramId指定传参数的名字id

paramName指定参数的值1

/deleteemp.do"

删除

/deleteemp.do?

删除<

rewrite>

输出对应的URI的字符串

不产生超链接

rewritepage="

/deleteemp.do?

id=1

b)基本表单标签->

form表单******

form>

text>

hidden>

reset>

submit>

password>

checkbox>

radio>

file>

-----文件类型

select>

option>

对应基本的表单元素property="

value="

inputtype="

text"

name="

user"

对应于

textproperty="

<

checkbox"

ah"

体育

2"

游泳

checkboxproperty="

体育<

游泳<

---文件的上传的标签

common-fileupload-1.0.jar

实现文件的上传

actionForm中FormFile的类型代表file文件

用处:

file/>

文件上传得

link/>

页面跳转的

c)错误和正确信息标签*******

jdk的bin中native2ascii.exe

编码方式变为Unicode方式

native2ascii-encodinggb2312applicationResources.properties

ApplicationResources_zh_CN.properties

errors/>

输出所有actionError的内容

errorsproperty="

uname"

输出key=uname对应的内容

2.bean标签访问变量的属性或输出值

访问JavaBean

a)访问http请求信息和jsp隐式对象

**<

bean:

cookie>

cookie访问

cookieid="

mycookie"

loginname"

123"

id--自己设置Cookie变量的名字

name--Cookie对象的名字

value--默认值

writename="

property="

value"

取出值

name"

取出名字

Cookiec=newCookie("

"

northwind"

);

c.getValue()

c.getName()

***<

parameter>

访问请求的参数request

parameterid="

arg1"

username"

north"

对应的Java代码

request.getParameter("

****<

page>

访问jsp的隐式对象---属性

session

getId()->

id

getCreationTime()->

creationTime

application

request

response

所有对象的get方法能访问到的属性都可以被这个标签访问

属性的第一个字母变成小写后都可以访问

pageid="

this_session"

session"

creationTime"

b)访问资源

message>

访问applicationResources中的消息

messagekey="

hello.user"

输出key的值

include>

包含资源到一个变量中

动作<

jsp:

includepage="

testpage1.jsp"

页面运行结果包含进来

等价于下面2句话

includeid="

tp1"

page="

/testpage1.jsp"

输出变量的内容

输出的是页面的内容

c)定义和输出JavaBean

*****<

define>

定义一个变量

defineid="

aa"

Hello"

->

Hello

bb"

empbean"

ename"

JavaBean:

empbean

属性ename

变量Stringbb=empbean.getEname();

得到empbean中属性ename的值

write>

显示JavaBean及其属性或变量的内容

scope="

name=某个范围中的属性的名字(对象)

property=JavaBean中的属性

scope=访问对象的范围

3.logic标签

a)ifelse

ifa=bthen等于

不等于

大于

小于

字符串

匹配

不匹配

空值

非空值

b)循环

for(inti=0;

i<

vect.size();

i++){

}

对集合的遍历如何做?

?

a)

存在性

logic:

present/>

是否存在某种变量

cookie="

cookie名字"

header="

request中的header"

parameter="

参数"

变量或JavaBean"

request/session/application"

如果存在就输出标签体的内容

相反的标签

notpresent/>

是否为空

空-"

或null

emptyname="

/logic:

empty>

是否相等

equal/>

大于>

greaterThan/>

>

=<

greaterEqual/>

小于<

lessThan/>

lessEqual/>

匹配

match/>

nomatch/>

location表示的是位置

从开始匹配start

从结束匹配end

循环

iterate>

%

Vectorv=newVector();

v.add("

3"

4"

request.setAttribute("

number"

v);

id定义一个变量

name定义变量的内容

iterateid="

ele"

对集合中所有元素的循环访问

indexId定义循环计数器变量i

offset开始元素的位置

length要输出元素的个数

indexId="

index"

offset="

length="

.<

br>

c)logic转发和重定向

forwardname="

对应global-forwards

转发到index

forwardpage="

redirectpage="

aa.jsp"

重定向到aa.jsp

response.sendRedirect("

struts中文乱码问题的解决

1>

编码转换函数

2>

过滤器

Action和jsp的开发其实就是对Struts标签的运用.掌握标签的熟练程度决定了开发效率.初学者往往对某个数据表示或数据获取,束手无策.一个简单的问题浪费一两天时间也就不足为怪了.导致整个开发进度延后.外面的struts书籍介绍标签和数据传输原理都比较简单,下面我对标签技术和数据传输原理,进行全方位多角度的剖析.希望对各位有所帮助.以此为模版,将大大提高开发效率.以sample为机能名称.

①画面上有一text框,显现内容为某一数据表中的某一字段.那我们该如何设置和得到此数据呢?

SampleJsp:

html:

textname="

sampleForm"

/>

SampleForm.java:

//form文件名必须和jsp中标签的name对应

Stringname;

//必须和jsp中该项目的property一样

publicStringgetName(){returnname;

}

publicvoidsetName(Stringname){this.name=name;

}

变量和方法名,不可以顺意.变量abcd,那方法名就是setAbcd和getAbcd.注意大小写.

jsp中的项目必然全部在form里面有所表示,当然反过来,form里的项目在jsp中不一定全部表示(可能有辅助动作的对象或验证)

SampleAction.java

publicActionForwardstart(ActionMappingmapping,

ActionFormargForm,HttpServletRequestreq,HttpServletResponseres)

throwsException{

SampleFormform=(SampleForm)argForm;

Stringname=………………othercodesforgetnamefromdb

//setname

form.setName(name);

//nowtextwillshowthename

publicActionForwardsave(ActionMappingmapping,

//getname

Stringname=form.getName();

………………othercodesforsavename

jsp和form对应,action操作form,form其实起了传输数据的作用.这就是struts标签的核心原理.得到数据和设置数据没问题了,剩下的工作也就得心应手了.

②再看一个处理标签的方法.画面上是一个明细一览表示(表).表示的是数据表user的相关数据(id,name).

SampleJsp:

logic:

presentname="

userList"

sampleForm"

tr>

td>

bean:

/td>

/tr>

/logic:

present>

present是逻辑判断,sampleForm中userList为空(无数据或null),下面的东东不显示.

iterate是逻辑循环,userList有几条数据,就循环几次.

是lable标签,显示user这个对象(entity)的id属性.或者说显示数据表user中的一条记录中的id这个列.

User.java(就是entity,因为和业务密切,高达不开发,切记切记不可顺意修改.遇到设计有问题,QA日本)

Stringid;

publicStringgetId(){returnid;

publicvoidsetId(Stringid){this.id=id;

publicStringgetName(){returnname;

publicvoidsetName(Stringname){this.name=name;

看到这,是否觉得面熟啊,好象和FORM一样,但有点不一样,不一样在哪里,看下去后,自己感悟吧.

SampleForm.java:

ListuserList;

publicListgetUserList(){returnuserList;

publicvoidsetUserList(ListuserList){this.userList=userList;

form只要这些,那你会问,id和name,struts如何能得到呢?

你不是说过jsp必须和form一样对应吗?

不错,一一对应是肯定的.UserList信息已经包含了一切,还需要定义id和name吗?

至于struts如何得到数据,那就看下面的action是如何处理的吧.

publicActionForwardstart(ActionMappingmapping,

ArrayListuserList=newArrayList();

Useruser=newUser();

user.setId

(1);

user.setName(“name1”);

userList.add(user);

user.setId

(2);

user.setName(“name2”);

//setuserList

form.setUserList(userList);

//nowtablewillshow

一切搞定.是不是很简单,但估计你还是有点晕.你还是想问我,id和name到底是如何设置的?

Action设置了userList就够了,它包含够多的信息了.struts看见了你设置了userList.它就知道了这个list里面都user(entity),useruser(entity)里面不是有很多get,set方法吗?

再看下下面的东东.

id=”user”,和name="

对应了,明白啥意思吗?

.就象循环指明索引一样.property="

就是要显示的这个索引对应的内容.Struts就是这样来认id和name的.

③接下来,看一个加强版的table例子,在显示的明细一览,每一行前面加一个radio框,让用户选择哪个user.进行删除操作.

radioname="

selectedUserId"

%=((jp.co.mhcb.obs.persis.entity.User)pageContext.getAttribute("

user"

)).getId().toString()%>

sampleForm.java:

StringselectedUserId;

publicStringgetSelectedUserId(){returnselectedUserId;

publicvoidsetSelectedUserId(StringselectedUserId){

this.selectedUserId=selectedUserId;

publicActionForwarddelete(ActionMappingmapping,

StringselectedUserId=form.getSelectedUserId();

//getuserbyselectedid

Useruser=

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

当前位置:首页 > 人文社科 > 军事政治

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

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