1. 程式人生 > >struts2框架學習筆記7:struts2標簽

struts2框架學習筆記7:struts2標簽

put 取值 div private sub pan 不常用 筆記 textarea

三大標簽:

1.JSP:腳本,為了替代servlet,已過時

2.JSTL:標準標簽庫(core、format、sql、xml),還未淘汰的只有core庫

3.Struts2標簽庫:由Struts2開發團隊開發,功能更加強大

struts2標簽分為:普通標簽、UI標簽

普通標簽分:控制標簽,數據標簽

UI標簽分:表單標簽,非表單標簽

準備一些數據:

        List<String> list = new ArrayList<>();
        list.add("tom");
        list.add("jerry");
        list.add(
"jack"); list.add("rose"); ActionContext.getContext().put("list", list);

普通標簽示例:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"
> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <!-- 遍歷標簽 iterator --> <!-- ------------------------------------- --> <s:iterator value="#list" > <s:property
/><br> </s:iterator> <!-- ------------------------------------- --><hr> <s:iterator value="#list" var="name" > <s:property value="#name" /><br> </s:iterator> <!-- ------------------------------------- --><hr> <s:iterator begin="1" end="100" step="1" > <s:property />| </s:iterator> <!-- ------------------if else elseif標簽------------------- --><hr> <s:if test="#list.size()==4"> list長度為4! </s:if> <s:elseif test="#list.size()==3"> list長度為3! </s:elseif> <s:else> list長度不為3也不為4! </s:else> <!-- ------------------property 配合ognl表達式頁面取值 ------------------- --><hr> <s:property value="#list.size()" /> <s:property value="#session.user.name" /> </body> </html>

表單標簽(不常用):

    <!-- struts2表單標簽 -->
    <!-- 好處1: 內置了一套樣式.  -->
    <!-- 好處2: 自動回顯,根據棧中的屬性  -->
    <!-- theme:指定表單的主題
            xhtml:默認
            simple:沒有主題
     -->
    <s:form action="Demo3Action" 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:radio list="#{1:‘男‘,0:‘女‘}" name="gender" label="性別" ></s:radio>
        <s:checkboxlist list="#{2:‘抽煙‘,1:‘喝酒‘,0:‘打遊戲‘}" name="habits" label="愛好" ></s:checkboxlist>
        <s:select list="#{2:‘大專‘,1:‘本科‘,0:‘碩士‘}" headerKey="" headerValue="---請選擇---" name="edu" label="學歷" >
        </s:select>
        <s:file name="photo" label="近照" ></s:file>
        <s:textarea name="desc" label="個人簡介" ></s:textarea>
        <s:submit value="提交" ></s:submit>
    </s:form>
    
    <s:actionerror/>

Action:

package tag;

import com.opensymphony.xwork2.ActionSupport;

public class Demo3Action extends ActionSupport {
    
    private String name;
    public String execute() throws Exception {
        System.out.println(name);
        
        this.addActionError("錯誤");
        
        return SUCCESS;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    
}

struts2框架學習筆記7:struts2標簽