本文目录
- Struts2标签库由那些组件组成
- struts2 标签库中的%和#是什么意思
- 关于struts标签库的疑问
- struts标签库
- 如何加载struts2标签库
- struts2在web.xml中配置标签库有什么作用
- Struts提供了几个标签库都是什么标签库
- 如何Struts2标签库中,获取值
Struts2标签库由那些组件组成
1.Struts2页面开发中常用标签使用说明1.1.往action里传值的使用方式:a.userName属性需要在访问的action中提供相应的属性,并有SET/GET方法。b.可以不在访问的action中提供相应的属性,用request.getParameter(“userName”);1.2.显示标签property用于输出指定值:当action返回到指定页面是,可以通过该标签显示action中的属性信息。(注userName必须在action中存在,并有GET方法)。1.3.往对象中传值用于从页面往action中的对象内传值:该标签可以在页面中向action中的实体对象内直接传值。(注:在action中要存在user对象,并有SET/GET方法。)1.4.判断用于在页面中判断指定数据….….该标签用于对指定的数据进行判断,但指定的数据必须在action中存在。1.5.迭代用于将List、Map、ArrayList等集合进行循环遍历该标签用于将userList集合中的元素进行循环,用过property进行显示集合中的指定元素值。1.6.URL地址标签,用于生成一个URL地址,可以通过URL标签指定的子元素向URL地址发送请求参数其中action为请求地址,param子元素为地址后面所带的参数。1.7.超链接一般和标签一起使用,用于带多个参数。“》超链接1.8.set标签,用于将某个值放入指定的范围内。例如application,session等。将user值放入request范围内。2.Struts2页面开发中常用标签使用规范:1.1.通过往action中传值,action中要有相应的属性,并提供SET/GET方法。(在数量少时可以使用request.getParameter(“userName”);)1.2.在页面显示action传来的数据,使用property标签。需要显示的数据从action中获得。1.3.往action中的实体对象内传值,使用textfield标签。1.4.在页面中判断指定值使用标签。判断数据从action中获得。1.5.在页面中需要循环列表显示的数据使用标签,列表数据从action中获得。1.6.URL地址和超链接可以使用和,在传多值时建议和一起使用
struts2 标签库中的%和#是什么意思
要使用Struts2的标签,只需要在JSP页面添加如下一行定义即可:
《%@ taglib prefix=“s“ uri=“/struts-tags“%》
符号:#用来取根目录下的值,例如 session,request等等,取值的时候#session.key.属性名 ,这样会取到想要的对象的属性值。符号:%用于OGNL标签嵌套时候用的,比如想把一个对象的值赋值给另外一个对象:
《input type=“hidden“ name=“UserAId“ value=“《s:preperty value=“%UserB.id” “》
关于struts标签库的疑问
用logic:iterate《logic:iterate id=“mylist“ name=“list“ type=“com.vo.User“》id自己设置,name是setAttribute的集合对象,type是你的bean完整类名。《bean:write name=“mylist“ property=“name“ /》name是iterate的id,property是User的属性。action必须setAttribute存入集合对象。
struts标签库
属性描述collection Bean集合的名称,这个集合存储在某个作用域的属性中。选项的数目与集合中元素的数目相同。Property属性能够定义选项值所使用的bean属性,而labelProperty属性定义选项标记所使用的bean的属性labelName 用来指定存储于某个作用域的bean,这个bean是一个字符串的集合,能够定义《html:option》元素的标记(如果标志与值不相同) labelProperty 与collection属性共同使用时,用来定义了存储于某个作用域的bean,这个bean将返回一个字符串集合,能够用来写入《html:option》元素的value属性Name 如果这是唯一被指定的属性,它就定义了存储于某个作用域的bean,这个bean将返回一个字符串集合,能够用来写入《html:option》元素的value属性property 这个属性在与collection属性共同使用时,定义了每个要显示选项值的独立bean的name属性。如果不是与collection属性共同使用,这个属性定义了由name属性指定的bean的属性名称(如果有name属性),或是定义了一个ActionForm bean,这个bean将返回一个集合来写入选项的值 我们看一下这个标记的一些例子: 《html:option collection=”optionCollection” property=”optionValue” labelProperty=”optionLabel”/》 标记假设在某个作用域中有一个名为optionCollection的集合,它包含了一些具有optionValue属性的独立的bean,每个属性将作为一个选项的值。每个选项的标志由bean的optionLabel属性属性进行定义。 《html:option name=”optionValues” labelName=”optionLabels”/》 标记中optionValues代表一个存储在某个作用域中的bean,它是一个字符串集合,能够用来写入选项的值,而optionLabels代表一个存储在某个作用域中的bean,它也是一个字符串集合,能够用来写入选项的标志。http://www.java-cn.com/zhuanti/technology_detail.jsp?id=2802
如何加载struts2标签库
需要添加 struts2 支持 也就是它所谓的5个包:1.freemarker-2.3.8.jar2.ognl-2.6.11.jar3.struts2-core-2.0.11.1.jar4.struts2-spring-plugin-2.0.11.1.jar5.xwork-2.0.4.jar在jsp页面 头上写上 《%@ taglib prefix=“s“ uri=“/struts-tags“ %》就可以使用 标签了《s:iterator value=“#request.list“ id=“us“》 《/s:iterator》
struts2在web.xml中配置标签库有什么作用
用struts2框架不需要在web.xml配置标签库的位置,因为tomcat会自动在xxx.jar中找META-INF目录下的xxx.tld文件,如果要是标签库文件没有放到xxx.jar文件中需要在web.xml中配置
Struts提供了几个标签库都是什么标签库
Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。HTML标签用来创建能够和Struts框架和其他相应的HTML标签交互的HTML输入表单Bean标签在访问JavaBeans及其属性,以及定义一个新的bean时使用Logic标签管理条件产生的输出和对象集产生的循环Template标签随着Tiles框架包的出现,此标记已开始减少使用Nested标签增强对其他的Struts标签的嵌套使用的能力《Html:form》,《html:submit》,《Html:button》
如何Struts2标签库中,获取值
1.标签取值方式一??? 通过《s:property value=““ /》取值??? 当Action的valueStack中有该属性的值时,只需直接使用该属性的名字即可;??? 当Action的valueStack中没有该属性的值时,比如在session,application范围中的属性值时,需要加#或者#attr.;??? 例子:??? 假设某Action中有person成员变量,在application中存在company属性??? 那么我们可以通过以下方法取值:??? 《s:property value=“person.name“ /》??? 《s:property value=“#person.name“ /》??? 《s:property value=“company.name“ /》 //无法取到,因为company不在action的valueStack中??? 《s:property value=“#company.name“ /》2.标签取值方式二在任意的《s:/》标签内使用%{}来取值当Action的valueStack中有该属性的值时,只需直接使用该属性的名字即可;当Action的valueStack中没有该属性的值时,比如在session,application范围中的属性值时,需要加#或者#attr.;例子:假设某Action中有person成员变量,在application中存在company属性 《s:textfield name=“person.name“ value=“person.name“ /》 //错误,value会直接显示person.name字样 《s:textfield name=“person.name“ value=“%{person.name}“ /》 《s:textfield name=“person.company.name“ value=“%{#company.name}“ /》 《s:textfield name=“person.company.name“ value=“%{#attr.company.name}“ /》3.获取JSP页面的request,session,application中的属性?? 在页面中可以这样获取:《td》${applicateionScope.counter}《/td》《td》${sessionScope.counter}《/td》《td》${requestScope.counter}《/td》或者直接这样用:${属性} ${userBean.username}。userBean可以是request或session中的对象。struts2中的Action代码中的内容为:ActionContext ctx = ActionContext.getContext();ctx.getApplication.put(“counter“,new Integer(5));ctx.getSession.put(“counter“,new Integer(5));ctx.put(“counter“,new Integer(5));ctx.put就是直接设置request的值。也可以使用以下方式获得request:HttpServletRequest request = ServletActionContext.getRequest();HttpServletResponse response = ServletActionContext.getResponse();struts2还提供了以下接口:ServletContextAware:Action实现该接口,可以直接访问ServletContext。ServletRequestAware:Action实现该接口,可以直接访问HttpServletRequest。ServletResponseAware:Action实现该接口,可以直接访问HttpServletResponse。