html 中s标签的值,struts2中的s标签解析,s标签解析,struts2

那就从简单的标签提及吧!1.x中经常使用的标签只有4中html、bean、logic、tileshtml

而struts2.0里的标签却没有分类,只用在jsp头文件加上   java

  就能使用struts2.0的标签库   node

下面就介绍每一个标签的具体应用实例说明:按字母排列web

A:   ajax

1.   数据库

2. -----超连接,相似于html里的   数组

3. -----执行一个view里面的一个action   浏览器

4. -----若是action的errors有值那么显示出来   安全

5. -----若是action的message有值那么显示出来   cookie

6. -----添加一个值到list,相似于list.add();

7. -----自动完成标签的内容,这个是ajax

B:

1. -----相似于struts1.x中的,JavaBean的值

C:

1. -----复选框

2. -----多选框

3. -----下拉框

4. -----图像符号

D:

1. -----获取日期格式

2. -----日期输入框

3. -----显示错误信息

4.

5. -----双下拉框

E:

1.

2.

3. -----这3个标签一块儿使用,表示条件判断

F:

1. -----显示文件错误信息

2. -----文件上传

3.

-----获取相应form的值

G:

1. ----和标签一块儿使用

H:

1.

-----在里使用,表示头文件结束

2. -----隐藏值

I:

1. -----加载资源包到值堆栈

2. -----包含一个输出,servlet或jsp页面

3. -----获取form的一个输入

4. -----用于遍历集合

L:

1. -----只读的标签

M:

1. -----合并遍历集合出来的值

O:

1. -----获取标签组

2. -----左右选择框

P:

1. -----为其余标签提供参数

struts2的s:param标签主要有两个属性name与value, 若想在value属性中输入直接量,则能够这样写:, 也能够这样写:user。但若是直接赋值,这个值不是由Action动态生成的,而是本身指定的一个字符串,则只能用后者

2. -----密码输入框

3. -----获得'value'的属性

4. -----value的值push到栈中,从而使property标签的可以获取value的属性

R:

1.

2. -----单选按钮

3. -----重置按钮

S:

1. -----单选框

2. -----赋予变量一个特定范围内的值

3. -----经过属性给list分类

4. -----提交按钮

5. -----为遍历集合输出子集

T:

1. -----表格框

2.

-----表格

3. -----I18n文本信息

4. -----文本域输入框

5. -----文本输入框

6. -----拦截器

7. -----树

8. -----树的结构

U:

1. -----多选择框

2. -----建立url

___________________________________________________

struts2框架的标签库分为三类:

用户标签:生成HTML元素

非用户标签:数据访问、逻辑控制等。

AJAX标签:支持AJAX技术。

用户界面标签又分两类:

表单标签:生成HTML页面的from元素

非表单标签:生成页面上的Tab、Tree等

非界面标签又分为数据访问标签和流程控制标签。

控制标签:

if/elseif/else标签:控制流程分支。

iteratot标签:对集合属性迭代(属性类型:List、Map、数组)。

append标签:将多个集合对象拼接在一块儿,组成一个新的集合。将多个集合使用一个标签完成迭代。

generatot标签:将指定的字符串按照规定的分隔符分解成多个子字符串。

merge标签:将多个集合拼接在一块儿。

subset标签:获取某个集合的子集合。

sort标签:多指定的集合元素进行排序。

数据标签:

action:直接调用一个Action,根据executeResult参数,能够将Action的处理结果包含到页面中。

bean:建立一个JavaBean实例。。

date:格式化输出一个日期属性。

debug:生成一个调试连接,当单击该连接时,能够看到当前栈值中的内容。

i18n:指定国际化资源文件的baseName。

include:包含其余的页面资源。

param:设置参数。

property:输出某个值。能够输出值栈、StackContext 、ActionContext中的值。

push:将某个值放入值栈。

set:设置一个新的变量。

text:输出国际化信息。

url:生成一个URL地址。

表单标签:

checkbox标签:复选框。

checkboxlist标签:根据一个集合属性建立一系列的复选框。

combobox标签:生成一个单选文本框和一个下拉列表框的组合。

doubleselect标签:生成一个相互关联的列表框,该标签由两个下拉选择框组成。

datetimepicker标签:生成一个日期、时间下拉列表框。

head标签:生成HTML页面的HEAD部分。

file标签:在页面上生成一个上传文件元素。

hidder标签:生成一个不看见的用户输入元素。

select标签:生成下拉列表框。

optiontransferselect标签:建立两个选项以及转移下拉列表项,该标签生成两个下拉列表框,同时生成相应的按钮,这些按钮能够控制选项在两个下拉列表之间移动、排序。

radio标签:单选框。

optgroup标签:生成一个下拉列表框的选择组,下拉列表框中能够包含多个选择组。

token标签:防用户屡次提交表单。

textarea标签:文本域。

updownselct标签:支持选项内容的上下移动。

password表单:密码表单域。

textfield标签:单行文本输入框。

非表单标签:

actionerror标签:输出Action中getActionErrors()方法返回的异常信息。

actionmessage标签:输出Action中getActionErrors()方法返回的信息。

component标签:生成一个自定义的组件。

div标签:AJAX标签,生成一个div片断。

fielderror标签:输出异常提示信息。

tabbedPanel:AJAX标签,生成HTML中的Tab页。

tree标签:生成一个树形结构。

treenode标签:生成树形结构的节点。

____________________________________________________

Struts之LOGIC标签库详解

1. logic:empty

该标签是用来判断是否为空的。若是为空,该标签体中嵌入的内容就会被处理。该标签用于如下状况:

1)当Java对象为null时;

2)当String对象为""时;

3)当java.util.Collection对象中的isEmpty()返回true时;

4)当java.util.Map对象中的isEmpty()返回true时。

eg.

该句等同于:

if (userList.isEmpty()) {

...

}

2. logic:notEmpty

该标签的应用正好和logic:empty标签相反。

3. logic:equal

该标签为等于比较符。

eg1. 比较用户的状态属性是否1,若为1,输出"启用";

eg2. 若是上例中的value值是动态得到的,例如须要经过bean:write输出,因struts不支持标签嵌套,可采用EL来解决该问题。

4. logic:notEqual

该标签意义与logic:equal相反,使用方法相似,略。

5. logic:forward

该标签用于实现页面导向,查找配置文件的全局forward。struts-config.xml文件中全局转向

eg.

6. logic:greaterEqual

为大于等于比较符。

eg. 当某学生的成绩大于等于60时,输出“及格”:

及格

7. logic:greaterThan

此为大于比较符,使用方法同logic:greaterEqual;

8. logic:lessEqual

此为小于等于比较符,使用方法同logic:greaterEqual;

9. logic:lessThan

此为小于比较符,使用方法同logic:greaterEqual;

10. logic:match

此标签比较对象是否相等;

eg1. 检查在request范围内的name属性是否包含"hello"串:

中有一个“hello”串。

eg2. 检查在request范围内的name属性是否已“hello”做为起始字符串:

以“hello”做为起始字符串。

eg3.

你运行的是Windows系统

11. logic:notMatch

此标签用于比较对象是否不相同,与logic:match意义相反,使用方法相似

12. logic:messagePresent

该标签用于判断ActionMessages/ActionErrors对象是否存在;

eg. 若是存在error信息,将其所有输出:

13. logic:messagesNotPresent

该标签用于判断ActionMessages/ActionErrors对象是否不存在,使用方法与logic:messagePresent相似

14. logic:present

此标签用于判断request对象传递参数是否存在。

eg1. user对象和它的name属性在request中都存在时,输出相应字符串:

user对象和该对象的name属性都存在

eg2. 如有一个名字为“hello”的JavaBean,输出对应字符串:

有一个名字为“hello”的JavaBean。

eg3.

we got a user-agent header.

15. logic:notPresent

此标签用于判断request对象传递参数是否不存在,意义与了logic:present相反,使用方法相似。

16. logic:iterator

用于显示列表为collection的值(List ,ArrayList,HashMap等)。

eg1. 逐一输出用户列表(empList)中用户的姓名:

eg2. 从用户列表中输出从1开始的两个用户的姓名

.

eg3. logic:iterator标签的嵌套举例

.

17. logic:redirect

该标签用于实现页面转向,可传递参数。

eg.

logic:iterate

logic:iterate标签用来迭代集合,您可使用以下方式来为这个标签指定其要叠代的集合:

使用一个运行时表达式,这个表达式的值是一个集合。

用name属性引用一个JSP Bean,这个JSP Bean自己就是一个集合。

用name属性引用一个JSP Bean,这个JSP Bean的一个属性是一个集合,这时能够联合使用property来指定这个集合。

上面所提到的集合能够是:

对象类型或原子类型的数组(Array)。

java.util.Collection的实现,包括ArrayList,Vector。

java.util.Enumeration的实现。

java.util.Iterator的实现。

java.util.Map的实现,包括HashMap,Hashtable和TreeMap。

若是您叠代的集合中含有null的值,这时须要采起必定的措施,由于这时logic:iterate不会在page做用域中建立对象。通常是使用标签或标签来判断一下。

下面是logic:iterate叠代ArrayList的示例的对象引用关系和部分代码:

图示 3. logic:iterate中对象的引用关系

图中的persons列表是在ListAction中填充的,在这里只是简单的加入了三个Person对象,在实际的应用中这些数据应该取自数据库。具体的代码以下:

public ActionForward execute(ActionMapping mapping,ActionForm. form,

HttpServletRequest request,   HttpServletResponse response) {

ListForm. listForm. = (ListForm) form;

List persons = new ArrayList();

Person person1 = new Person();

person1.setId("00001");

person1.setName("赵辰");

Person person2 = new Person();

person2.setId("00002");

person2.setName("李为芳");

Person person3 = new Person();

person3.setId("00003");

person3.setName("王微");

persons.add(person1);

persons.add(person2);

persons.add(person3);

listForm.setPersons(persons);

return mapping.findForward("success");

}

标签输出的结果为:

00001-->赵辰

00002-->李为芳

00003-->王微

回页首

logic:present

若是指定的值出现该标签就会建立其标签体内的内容。该标签用于如下状况:

检查具备指定名称的cookie是否出现。

检查具备指定名称的header是否出现。

检查具备指定名称的JSP Bean是否出现 或 检查具备指定名称的JSP Bean中的property属性是否出现。

检查request中指定名称的参数是否出现。

检查当前的认证用户是否与指定的安全角色相关联。

检查当前认证的主体是否具备指定的名字。

下面的代码示例了logic:present标签检查具备指定名称User-Agent的header是否出现:

您的浏览器是

logic:notPresent标签的应用正好和logic:present标签相反。

回页首

logic:messagesPresent

logic:messagesPresent标签用于如下状况:

在request做用域中存在一个ActionMessages对象,标签的property属性和ActionMessages中的property对应。

在request做用域中存在一个ActionErrors对象,标签的property属性和ActionErrors中的property对应。

存在一个String对象,将其转换(构造)成ActionMessage而后在添加到ActionMessages中。

存在一个String Array对象,将数组中的每个String转换成一个ActionMessage,在将其添加到ActionMessages中。

标签的message属性值为true时将以Globals.MESSAGE_KEY为key在request做用域中查找Message,其它状况下,将name的值做为key查找,若是name 没有出现,默认值为Globals.ERROR_KEY。

下面的代码示例了logic:messagesPresent标签的典型用法:

标签logic:messagesNotPresent的应用正好和logic:messagesPresent的应用相反。

回页首

logic:empty

logic:empty标签是用来判断是否为空的。若是为空,该标签体中嵌入的内容就会被处理。该标签用于如下状况:

当Java对象为null时

当String对象为""时

当java.util.Collection对象中的isEmpty()返回true时

当java.util.Map对象中的isEmpty()返回true时

下面的代码示例了logic:empty标签判断集合persons是否为空:

集合persons为空!

logic:notEmpty标签的应用正好和logic:empty标签相反。

回页首

logic:match

logic:match标签用来处理子串匹配问题。

若是指定的值匹配该标签就会建立其标签体内的内容。该标签用于如下状况:

检查具备指定名称的cookie是否与该标签的value匹配。

检查具备指定名称的header是否与该标签的value匹配。

检查具备指定名称的JSP Bean是否与该标签的value匹配 或 检查具备指定名称的JSP Bean中的property属性值是否与该标签的value匹配。

检查request中指定名称的参数值是否与该标签的value匹配。

下面的代码示例了logic:match标签的典型用法:

MS IE 6.0

logic:notMatch标签的应用正好和logic:match标签相反。

回页首

logic:equal

这里要介绍的不仅是logic:equal(=)标签,而是要介绍一类标签,这类标签完成比较运算,包括:

logic:equal(=)

logic:notEqual(!=)

logic:greaterEqual(>=)

logic:lessEqual(<=)

logic:graterThan(>)

logic:lessThan(

该类标签的用法相似,咱们只介绍logic:equal标签,其它的留给您本身去完成。

logic:equal是用来判断是否相等的。若是相等,该标签体中嵌入的内容就会被处理。该标签用于如下状况:

比较由该标签的cookie属性指定的cookie的值是否与该标签的value属性值相等。

比较由该标签的header属性指定的header的值是否与该标签的value属性值相等。

比较由该标签的name属性指定的JSP Bean是否与该标签的value属性值相等(property属性不出现)或比较由该标签的name属性指定的JSP Bean中的property属性值是否与该标签的value属性值相等。

比较由该标签的parameter属性指定的参数值(request中)是否与该标签的value属性值相等。

回页首

logic:forward

我以为将forward和redirect这两个动做放到一块儿对比着介绍更加有利于理解,基于此缘由也就将logic:forward和logic:redirect这两个标签也拿到这里一块儿介绍了。

让咱们看看这两个动做的区别:

forward是在servlet内部执行,浏览器彻底不会感知到这个动做,原始的url也不会改变,浏览器从新装载的话也只是对原始的请求进行简单的重复。

redirect则分红两个步骤:第一步是web应用程序告诉浏览器第二个url,而后浏览器向第二个url发送请求。

redirect比forward慢,由于浏览器要作二次请求。还有就是要注意,在第一次的请求做用域(request做用域)内的bean对于第二次请求是不可见的。

理解了上面描述的区别也就知道了何时该选用logic:forward标签何时该选用logic:redirect标签了。logic:forward标签完成PageContext.forward()或HttpServletResponse.sendRedirect(),如何选择由控制器决定。logic:redirect标签完成HttpServletResponse.sendRedirect()。

在使用logic:redirect标签时咱们能够向使用html:link同样构造baseurl和query参数。若是您感兴趣能够参考html:link标签。

标签的用法

(2012-09-27 18:04:34)

转载▼

标签:

<saction>

struts2

杂谈

分类: struts2

使用action标签,能够容许在jsp页面中直接调用Action,在调用Action时候,能够指定须要被调用的Action的name和namespace.若是指定了executeResult参数的属性值为true,该标签会把Action的处理结果(视图资源)包含到本页面中. 使用action标签指定属性有:

id: 可选属性,做为该Action的引用ID

name:必选属性,指定调用Action

namespace:可选属性,指定该标签调用Action所属namespace

executeResult:可选属性,指定是否将Action的处理结果包含到本页面中.默认值为false,不包含.

ignoreContextParam:可选参数,指定该页面的请求参数是否须要传入调用的Action中,默认值是false,即传入参数.

传递参数

是以request方式的值的,而不是以参数传值

因此request.getParameter("")会获取不到值

经过request.getAttribute("")方式能够获取

另外:使用 value指代的是action定义的对象的名称,而不是一个值

和 中的name是一个意思,因此要要传递字符串的不能把值写value中而应该写到

例如:

struts.xml以下配置

页面加载以下段

me="tab_gotoHeader" namespace="/reportList" executeResult="true">

xxx.action中只要set,get headerMap,scopeId就能够拿到值了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值