Struts2 -- 标签库的使用

一般,网站开发中定义完成一个页面元素时,须要考虑格式化其显示效果,不然显示页面将混乱不堪。对于数据的访问,需自实现遍历代码来完成。然而,这些格式化操做和数据访问操做咱们能够使用struts2标签库来完成。这样能够简化开发过程。Struts标签库,值得去尝试。html


1.struts标签可概括为:
apache

1)UI标签:生成HTML标签数组

表单标签: 生成表单元素,如:form, textfield, selectsession

非表单标签:生成无关表单的元素,如:a, div, tabbedPanelapp

2)非UI标签:进行数据访问,逻辑控制网站

控制标签:分支,循环等流程控制spa

数据标签:输出数据,完成国际化等debug

3)Ajax标签:用于Ajax支持的标签orm



2.在JSP页面中导入struts2标签库
htm

<@ taglib prefix="s" uri="/struts-tags"%>

而后就能够在页面中使用标签库了,使用方式:使用“s”做为标签的前缀。

如:

1)表单标签:<s:textfield name="username"/>




2)控制标签:<s:if test="表达式"></s:if>

3)数据标签:<s:date name="#now" format="yyyy-MM-dd"/>




--->前往了解struts2标签


数据访问中,对于简单的Action属性值(如:基本类型,String),能够在页面中使用标签间接访问到(间接?想象有某个容器,Action将数据置于其中,而页面从容器中取出数据),而对于较为复杂的属性值(如:数组,集合,对象),则需使用表达式来获取,Struts2使用的是OGNL表达式。

3.使用OGNL表达式语言

struts2定义了一个顶级对象:Stack Context,能够想象其为一个用于存储数据的容器。须要从其中获取数据。

其中包含:

1)一个根对象:访问根对象能够省略#和对象名

ValueStack

2)五个命名对象:访问命名对象需使用#对象名

parammeters 访问HTTP的参数,#parammeters.name = getParameter("name");

request     访问HttpServletRequest的属性,#request.name = getAttribute("name");

session     访问HttpSession的属性,#session.name = getAttribute("name");

application 访问ServletContext的属性,#application .name = getAttribute("name");

attr  依次访问page, request, session, application 范围




Action实例建立自动保存-->ValueStack,所以访问Action属性可省略#和对象名。开发阶段,可以使用标签<s:debug/>造成连接,用以查看对象的属性等。

--->前往了解OGNL表达式