Struts2標籤庫(8):,,,,

來源:互聯網
上載者:User

start.jsp :

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%><html><head><title>Insert title here</title></head><body><a href="sample"><s:form/><s:textfield/><s:password/><s:checkbox/><s:radio/>標籤用法</a></body></html>

struts.xml :

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"    "http://struts.apache.org/dtds/struts-2.1.7.dtd"><struts>    <package name="demo" extends="struts-default">        <action name="sample" class="action.SampleAction">            <result name="success">/showInfo.jsp</result>        </action>    </package></struts>

SampleAction.java :

public class SampleAction {private String username;private String password;private int age;private String email;private String gender;private boolean married;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public boolean isMarried() {return married;}public void setMarried(boolean married) {this.married = married;}public String execute(){username="tom";password="1234";age=25;email="helloworld@sina.cn";gender="M";married=true;return "success";}}

showInfo.jsp :

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags"%><html><head><title>Insert title here</title></head><body><s:form action="sample" theme="simple">姓名:<s:textfield name="username"></s:textfield><br>密碼:<s:password name="password" showPassword="true"></s:password><br>年齡:<s:textfield name="age"></s:textfield><br>郵箱:<s:textfield name="email"></s:textfield><br>性別:<s:radio list='#{"F":"女","M":"男"}' name="gender"></s:radio><br>婚否:<s:checkbox name="married"></s:checkbox></s:form><s:debug></s:debug></body></html>

展開Debug:

我們如果不使用架構,一般流程是Servlet接受使用者請求,調用模型處理請求,得到處理結果,可以將結果綁定到request上接著轉寄到某個視圖頁面,在頁面中取出資料,進行展現。現在使用了Struts2,XxxAction就相當於Servlet,此處為了簡單起見,沒有調用模型處理請求得到資料,而是直接在Action中構造了一些資料,然後轉寄到視圖。我們並沒有將資料繫結到request或session上,為什麼能在視圖裡訪問這些資料呢?

答案就是Value Stack裡始終存放當前Action,而這些資料都在Action中,頁面訪問資料時採用ognl文法。這就是Struts2的做法。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.