- 浏览: 423148 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (170)
- java (77)
- javascript (5)
- jsp (1)
- servlet (6)
- struts (8)
- hibernate (3)
- spring (4)
- ajax (5)
- jquery (3)
- apache cxf (0)
- ext.js (1)
- hadoop (0)
- android (0)
- html5 (2)
- linux (5)
- flex (1)
- tomcat (1)
- jboss (0)
- nginx (0)
- mysql (16)
- sql server (3)
- oracle (4)
- div+css (0)
- mybatis (4)
- design patterns (22)
- xml (2)
- postgresql (3)
- velocity (1)
- freemarker (1)
- kendo-ui (2)
- ibatis (1)
- socket (1)
- C and C++ (1)
- C# (2)
- 程序设计----算法 (0)
- jersey (1)
- dd (0)
- perl (1)
- shell (0)
最新评论
-
书策稠浊:
兄弟,这tm是Java?
java调用百度地图和谷歌地图 -
fengyunlouyanyu:
jquery----删除指定id的div下的img -
yangjianzhouctgu:
Neoman 写道hi,我看你引入了kendo.web.min ...
kendo-ui中kendoGrid的用法 -
Neoman:
hi,我看你引入了kendo.web.min.js 这个js, ...
kendo-ui中kendoGrid的用法 -
yangjianzhouctgu:
llscp 写道这是JS吧...对的呀
java调用百度地图和谷歌地图
sturts1与struts2中标签的解释
- 博客分类:
- struts
由于现在struts2的广泛使用,因此,先介绍struts2的相关标签
1.s:select
例子:
其中:
其中上述代码的意思等同于如下语句:
其中:name对应的属性值要为跳转这个标签所在页面(当前jsp页面)的action中的一个属性,而且有setter/getter方法,key="pager.pageSize"表示跳转到这个标签(s:select)(如果点击某一页面上的一个连接,这个连接为address.do?method=init,点击之后就跳转到s:select所在的页面,则address对应的action就为这里所指的action)(即为struts.xml文件中address对应的action类)中有或父类中有pager属性,并且有getter和setter方法,而这个pager属性所属对象所对应的类中要有pageSize属性,而且要有getter和setter方法。list="pager.pageSizeIndexs"表示跳转到这个页面的action中有getPager方法,并且这个pager对象的类有getPageSizeIndexs方法,这个方法返回一个list/set/collection或其他容器
2.s:iterator
例子:
这里的value属性值的解释:跳转到这个jsp页面的那个action(1中已经提到)中要有getPager方法,返回的值为一个类的实例,这个类中要有getreslutList方法,且返回的必须是一个容器类(list、set等类)
3.s:property
例子:
这里使用了迭代器(iterator)来循环取出 value="pager.resultList"返回的一个容器类的实例中的结果,这个结果是一个对象,且这个对象有很多属性,假设返回的是一个Address对象,这个Address对象中有很多属性和方法
这就表示从这个Address对象中取出address方法,即调用这个对象的getAddress()方法,并将取到的值显示在这里
4.s:actionerror
例子:
输入action中保存的全局错误,action中保存的全局错误代码为:
如果一个jsp文件中有s:actionerror标签,则跳转到这个jsp文件的action的相应函数中一定使用了saveActionError方法
5.s:actionmessage
例子:
对应的action中的相应方法的相应语句为:
解释同上
6.s:fielderror
显示错误信息
例子:
对应的action中validate方法中对应代码为:
标签中的<s:param>name</s:param>的参数name对应于方法addFieldError方法的第一个参数name
struts1 标签解释
1、bean:message
例子:
其中address.page.position为资源文件中的一个key所对应的属性值
2、html:errors
例子:
对应的java代码如下:
3、logic:present
用法:<logic:present name="user">相当于if(request.getAttribute("user"!=null))
例子:
4、logic:iterate
例子:
1.s:select
例子:
<s:form action="address!list.do" method="post" name="form1"> <TABLE border="0" width="100%" class="pager"> <TR> <TD align="left"> <s:text name="pager.pageSize" /> <s:select name="pageSize" key="pager.pageSize" list="pager.pageSizeIndexs" value="pager.pageSize" onchange="document.all.pageNo.value='1';document.all.form1.submit();" /> </TD> <TD align="center"> <s:text name="pager.rowCount" /> <s:property value="pager.rowCount" /> </TD> <TD align="right"> <a href="javascript:document.all.pageNo.value='<s:property value="pager.firstPageNo" />';document.all.form1.submit();"><s:text name="pager.firstPageNo" /> </a> <a href="javascript:document.all.pageNo.value='<s:property value="pager.prePageNo" />';document.all.form1.submit();"><s:text name="pager.prePageNo" /> </a> <a href="javascript:document.all.pageNo.value='<s:property value="pager.nextPageNo" />';document.all.form1.submit();"><s:text name="pager.nextPageNo" /> </a> <a href="javascript:document.all.pageNo.value='<s:property value="pager.lastPageNo" />';document.all.form1.submit();"><s:text name="pager.lastPageNo" /> </a> <s:select name="pageNo" list="pager.pageNoIndexs" value="pager.pageNo" onchange="document.all.form1.submit();" /> </TD> <TD width="20"></TD> </TR> </TABLE> </s:form>
其中:
<s:select name="pageSize" key="pager.pageSize" list="pager.pageSizeIndexs" value="pager.pageSize" onchange="document.all.pageNo.value='1';document.all.form1.submit();" />
其中上述代码的意思等同于如下语句:
<select name="pageSize"> <option value="pager.pageSize1">pager.pageSize1</option> <option value="pager.pageSize2">pager.pageSize2</option> <option value="pager.pageSize3">pager.pageSize3</option> <option value="pager.pageSize4">pager.pageSize4</option> </select>
其中:name对应的属性值要为跳转这个标签所在页面(当前jsp页面)的action中的一个属性,而且有setter/getter方法,key="pager.pageSize"表示跳转到这个标签(s:select)(如果点击某一页面上的一个连接,这个连接为address.do?method=init,点击之后就跳转到s:select所在的页面,则address对应的action就为这里所指的action)(即为struts.xml文件中address对应的action类)中有或父类中有pager属性,并且有getter和setter方法,而这个pager属性所属对象所对应的类中要有pageSize属性,而且要有getter和setter方法。list="pager.pageSizeIndexs"表示跳转到这个页面的action中有getPager方法,并且这个pager对象的类有getPageSizeIndexs方法,这个方法返回一个list/set/collection或其他容器
2.s:iterator
例子:
<s:iterator value="pager.resultList"> <TR> <TD> <s:property value="name" /> </TD> <TD> <s:property value="sex" /> </TD> <TD> <s:property value="mobile" /> </TD> <TD> <s:property value="email" /> </TD> <TD> <s:property value="qq" /> </TD> <TD> <s:property value="company" /> </TD> <TD> <s:property value="address" /> </TD> <TD> <s:property value="postcode" /> </TD> <TD> <a href='address!edit.do?id=<s:property value="id"/>'><s:text name="button.edit" /> </a> <a href="address!delete.do?id=<s:property value="id"/>"><s:text name="button.delete" /> </a> </TD> </TR> </s:iterator>
这里的value属性值的解释:跳转到这个jsp页面的那个action(1中已经提到)中要有getPager方法,返回的值为一个类的实例,这个类中要有getreslutList方法,且返回的必须是一个容器类(list、set等类)
3.s:property
例子:
<s:iterator value="pager.resultList"> <TR> <TD> <s:property value="name" /> </TD> <TD> <s:property value="sex" /> </TD> <TD> <s:property value="mobile" /> </TD> <TD> <s:property value="email" /> </TD> <TD> <s:property value="qq" /> </TD> <TD> <s:property value="company" /> </TD> <TD> <s:property value="address" /> </TD> <TD> <s:property value="postcode" /> </TD> <TD> <a href='address!edit.do?id=<s:property value="id"/>'><s:text name="button.edit" /> </a> <a href="address!delete.do?id=<s:property value="id"/>"><s:text name="button.delete" /> </a> </TD> </TR> </s:iterator>
这里使用了迭代器(iterator)来循环取出 value="pager.resultList"返回的一个容器类的实例中的结果,这个结果是一个对象,且这个对象有很多属性,假设返回的是一个Address对象,这个Address对象中有很多属性和方法
<s:property value="address" />
这就表示从这个Address对象中取出address方法,即调用这个对象的getAddress()方法,并将取到的值显示在这里
4.s:actionerror
例子:
<s:actionerror />
输入action中保存的全局错误,action中保存的全局错误代码为:
saveActionError("address.message.edit.notexist");
如果一个jsp文件中有s:actionerror标签,则跳转到这个jsp文件的action的相应函数中一定使用了saveActionError方法
5.s:actionmessage
例子:
<s:actionmessage />
对应的action中的相应方法的相应语句为:
saveActionMessage("address.message.delete.success");
解释同上
6.s:fielderror
显示错误信息
例子:
<s:textfield name="name" maxlength="50" /> <s:fielderror> <s:param>name</s:param> </s:fielderror>
对应的action中validate方法中对应代码为:
if (name == null || name.equals("")) { addFieldError("name", getText("address.error.name")); }
标签中的<s:param>name</s:param>的参数name对应于方法addFieldError方法的第一个参数name
struts1 标签解释
1、bean:message
例子:
<bean:message key="address.page.position" />
其中address.page.position为资源文件中的一个key所对应的属性值
2、html:errors
例子:
<html:errors property="org.apache.struts.action.GLOBAL_MESSAGE" />
对应的java代码如下:
ActionMessages messages = new ActionMessages(); AddressForm addressForm = (AddressForm) form; String username = getUsername(request); // check if exists boolean b = addressDAO.isExist(username, addressForm.getName()); if (!b) { // insert object Address address = new Address(); address.setUsername(username); address.setName(addressForm.getName()); address.setSex(addressForm.getSex()); address.setMobile(addressForm.getMobile()); address.setEmail(addressForm.getEmail()); address.setQq(addressForm.getQq()); address.setCompany(addressForm.getCompany()); address.setAddress(addressForm.getAddress()); address.setPostcode(addressForm.getPostcode()); addressDAO.insert(address); // save messages messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage( "address.message.add.success"));
3、logic:present
用法:<logic:present name="user">相当于if(request.getAttribute("user"!=null))
例子:
<logic:present name="addressList"> <logic:iterate id="address" name="addressList" scope="request"> <TR> <TD> <bean:write name="address" property="name" scope="page" /> </TD> <TD> <bean:write name="address" property="sex" scope="page" /> </TD> <TD> <bean:write name="address" property="mobile" scope="page" /> </TD> <TD> <bean:write name="address" property="email" scope="page" /> </TD> <TD> <bean:write name="address" property="qq" scope="page" /> </TD> <TD> <bean:write name="address" property="company" scope="page" /> </TD> <TD> <bean:write name="address" property="address" scope="page" /> </TD> <TD> <bean:write name="address" property="postcode" scope="page" /> </TD> <TD> <a href='address_edit.do?method=edit&id=<bean:write name="address" property="id" scope="page"/>'><bean:message key="button.edit" /> </a> <a href="address.do?method=delete&id=<bean:write name="address" property="id" scope="page"/>"><bean:message key="button.delete" /> </a> </TD> </TR> </logic:iterate> </logic:present>
4、logic:iterate
例子:
<logic:present name="addressList"> <logic:iterate id="address" name="addressList" scope="request"> <TR> <TD> <bean:write name="address" property="name" scope="page" /> </TD> <TD> <bean:write name="address" property="sex" scope="page" /> </TD> <TD> <bean:write name="address" property="mobile" scope="page" /> </TD> <TD> <bean:write name="address" property="email" scope="page" /> </TD> <TD> <bean:write name="address" property="qq" scope="page" /> </TD> <TD> <bean:write name="address" property="company" scope="page" /> </TD> <TD> <bean:write name="address" property="address" scope="page" /> </TD> <TD> <bean:write name="address" property="postcode" scope="page" /> </TD> <TD> <a href='address_edit.do?method=edit&id=<bean:write name="address" property="id" scope="page"/>'><bean:message key="button.edit" /> </a> <a href="address.do?method=delete&id=<bean:write name="address" property="id" scope="page"/>"><bean:message key="button.delete" /> </a> </TD> </TR> </logic:iterate> </logic:present>
发表评论
-
eclipse开发struts2程序
2013-05-30 13:58 527在eclipse下,用sturts2实现登录功能 ... -
拦截器的使用和配置
2012-09-12 22:33 10471、新建拦截器类 package com.demo.st ... -
struts中连接数据库
2012-09-03 22:54 1116在struts中连接数据库,并且在action操作数据库,需要 ... -
web项目中配置国际化支持
2012-09-03 22:28 1014在web.xml中设置整个web应用程序的全局编码方式: & ... -
struts-tags
2012-09-02 19:28 834<%@ taglib prefix="s&qu ... -
国际化资源文件配置
2012-09-01 22:03 11371、对于struts2来说 在struts.propertie ... -
struts2中通配符的使用及注意问题
2012-08-31 22:47 1115如果要使用通配符,来实现动态方法调用,首先要在struts.x ...
相关推荐
struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签struts1标签
struts2标签库struts2标签库struts2标签库struts2标签库
struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库struts标签库
struts2标签使用例子 struts2标签使用例子 struts2标签使用例子struts2标签使用例子
Struts2标签库Struts2标签库Struts2标签库Struts2标签库Struts2标签库Struts2标签库
在Eclipse中配置Struts2项目(html)手把手教会你 如何在Eclipse中配置Struts2。 struts2 标签库介绍(html)对Struts2的标签做了详细的介绍让你轻松掌握Struts2的标签。 STRUTS2学习文档.pdf 对Struts2的一些配置...
Struts2_控制标签与数据标签.pdf
通过struts2 自定义标签实例,可以用这个对项目中的实现自定义标签。从而减少代码。
Struts2标签与开发手册 Struts2标签与开发手册 Struts2标签与开发手册 Struts2标签与开发手册
struts2 标签使用struts2 标签使用struts2 标签使用struts2 标签使用struts2 标签使用struts2 标签使用
struts标签 • Bean Tags:该标签库包含的标签可以用来创建bean、访问bean和访问bean的属性。同时提供了依据cookies、headers和parameters的值创建相关bean的能力。 HTML Tags:该标签库包含的标签可以用来创建...
主要介绍了struts2的标签的详细使用例子说明
struts2中iterator 标签的使用详解
一个struts2的用户管理实例,涉及增删改查。 主要用到的技术: 1.struts2 2.国际化 3.类型转换 4.struts标签
Struts2中实现自定义标签很简单,主要分为3步: 1.创建taglib文件(.tld),编写标签声明。 2.编写自定义标签类。 3.在页面中使用标签。 下面以一个自定义的分页标签为例,进行说明。 其实,开发自定义标签并不...
Struts2页面开发中常用的标签介绍,介绍的比较详细。适合开发时候的查询
struts 2 s标签 a标签创建一个HTML超链接,等价于HTML 的 示范代码: 登陆</s:a>
Struts2自定义分页标签很详细了,新手可以少走弯路,节约时间 资源包括了后台如何操作。
struts2标签解释(转载),struts2标签解释
STRUTS:struts2标签库