Struts2标签(标签的体系结构、控制标签、UI标签)

1、标签体系结构

 (1)JSP脚本(https://www.cnblogs.com/zhai1997/p/11615737.html

样式:<% java代码 %>、<%=java变量或表达式>思想是在jsp内部直接嵌入java代码,但是容易是jsp内部内容太多太乱。

(2)JSP动作标签(https://www.cnblogs.com/zhai1997/p/11617085.html)

简化了jsp脚本,已经定义好了可以直接使用,例如:forward标签,include标签。

(3)自定义标签(JSTL标签https://www.cnblogs.com/zhai1997/p/11625829.html、Struts2标签)

JSTL:core、sql、format、xml

2、Struts2标签

 3、控制标签

(1)iterator标签(遍历)

创建一个Action向context中写入元素:

public String execute(){
        List<String> list=new ArrayList<>();
        list.add("aaa");
        list.add("www");
        list.add("ccc");
        list.add("mmm");
        ActionContext.getContext().put("list",list);
        return "success";
    }

jsp:

<s:iterator value="#list">
<s:property></s:property>
</s:iterator>

从list中取出元素,并显示在页面上。

运行结果:

 (2)第二种方式:

<s:iterator value="#list" var="name">
<s:property value="#name"></s:property>
</s:iterator>

 (3)与数字结合:显示数字

<s:iterator begin="1" end="100" step="5">
<s:property></s:property>
</s:iterator>

 (4)else和if组成的判断语句:

<body>
<s:if test="#list.size()==4">
    长度为4
</s:if>
<s:elseif test="#list.size()==3">
    长度为3
</s:elseif>
<s:else>
    长度未知!
</s:else>
</body>

 4、数据标签

(1)property标签:配合OGNL进行页面取值

<s:property value="#list.size()"></s:property>

结果为4.

5、表单标签

<s:form action="Action1" namespace="/" theme="xhtml" >
    <s:textfield name="name" label="用户名"  ></s:textfield>
    <s:password name="password" label="密码" ></s:password>
    <s:radio list="{'男','女'}" name="gender" label="性别" ></s:radio>
    <s:textarea name="desc" label="个人简介" ></s:textarea>
    <s:submit value="提交" ></s:submit>
</s:form>

 6、非表单标签

表单:

<s:actionerror></s:actionerror>

Action:

 public String execute(){
     this.addActionError("今天是元宵节,节日快乐!");
        return "success";
    }

运行结果:

原文地址:https://www.cnblogs.com/zhai1997/p/12284939.html