<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 72  文章 - 28  trackbacks - 0
    <2013年12月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    常用鏈接

    留言簿(4)

    隨筆分類(66)

    隨筆檔案(72)

    文章檔案(19)

    收藏夾

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    首頁要在web.xml中添加相應的struts配置:

    復制代碼
    <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>
    org.apache.struts.action.ActionServlet
    </servlet-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>debug</param-name>
    <param-value>2</param-value>
    </init-param>
    <init-param>
    <param-name>detail</param-name>
    <param-value>2</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    復制代碼

    然后在config所對應的目錄下添加struts配置文件struts-config.xml

    復制代碼
    <?xml version="1.0" encoding="UTF-8" ?>

    <!DOCTYPE struts-config PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
    "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"
    >

    <struts-config>

    <!-- ActionForm -->
    <form-beans>
    <!-- name:名稱 type:類路徑 -->
    <form-bean name="loginForm" type="com.login.LoginForm">
    </form-bean>
    </form-beans>
    <!-- 設置全局URL,必須寫在Action前面,這樣任何Action都可以使用 -->
    <global-forwards>
    <forward name="result" path="/result.jsp" />
    </global-forwards>

    <!-- 注冊Action -->
    <action-mappings>
    <!-- name:名稱 type:類路徑 path:客戶端(JSP)提交到服務器端時指定的路徑(Form表單中的action=”/login.do" -->
    <action path="/login" type="com.login.LoginAction"
    name
    ="loginForm" scope="request">
    <!-- 局部URL,只有這個action可以使用 -->
    <forward name="success" path="/success.jsp"></forward>
    <forward name="error" path="/error.jsp"></forward>
    </action>
    </action-mappings>


    </struts-config>
    復制代碼
    注:Action和Form的關系是一個Action只能對應一個Form(通過Action的name屬性)
    而一個Form可以被多個Action調用
    LoginAction.java
    復制代碼
    package com.login;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;

    public class LoginAction extends Action {

    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {
    LoginForm lf
    = (LoginForm) form;
    String username
    = lf.getUsername();
    String password
    = lf.getPassword();
    String errorInfo
    = "";
    String result
    = UserManager.getInstance().login(username, password);
    if (result.equals("success")) {
    request.setAttribute(
    "username", username);
    return mapping.findForward("success");
    }
    else if (result.equals("username")) {
    errorInfo
    = "密碼錯誤";
    }
    else {
    errorInfo
    = "用戶名錯誤";
    }
    request.setAttribute(
    "errorInfo", errorInfo);
    return mapping.findForward("error");
    }

    }
    復制代碼
    LoginForm.java
    復制代碼
    package com.login;

    import javax.servlet.http.HttpServletRequest;

    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;

    public class LoginForm extends ActionForm {

    private String username;
    private String password;

    public void reset(ActionMapping mapping, HttpServletRequest request) {
    System.out.println(
    "--------reset()-------------");
    super.reset(mapping, request);
    }

    public ActionErrors validate(ActionMapping mapping,
    HttpServletRequest request) {
    System.out.println(
    "--------validate()-------------");
    return super.validate(mapping, request);
    }

    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;
    }

    }
    復制代碼
    對我個人來說最重要的是前臺jsp頁面沒有掌握,經常在頁面上花費很多時間
    在編寫JSP頁面時要用struts標簽,而我經常會忘記
    引入jsp標簽
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
    index.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    	<head>
    		<title>首頁</title>
    	</head>
    
    	<body>
    		<html:form action="/login.do">
    			用戶名:<html:text property="username"></html:text><br/>
    			密碼: <html:password property="password"></html:password><br/>
    			<html:submit>submit</html:submit>
    		</html:form>
    	</body>
    </html>
    

     

    展示結果(將Action的返回值展示到JSP頁面上)

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    	<head>
    		<title>Error</title>
    	</head>
    	<body>
    		<bean:write name="errorInfo" scope="request" />
    	</body>
    </html>
    posted on 2013-12-27 14:56 kelly 閱讀(204) 評論(0)  編輯  收藏 所屬分類: java 框架
    主站蜘蛛池模板: 久久午夜夜伦鲁鲁片免费无码| 亚洲日韩乱码久久久久久| 亚洲爆乳AAA无码专区| 最近中文字幕高清免费中文字幕mv| 中文字幕在线亚洲精品| 黄色毛片免费网站| 亚洲精品无码AV中文字幕电影网站| 亚洲AV无码国产剧情| 日韩免费在线观看| 亚洲精品无码久久久久久| 天天摸夜夜摸成人免费视频| 亚洲国产成a人v在线观看| 成年女人18级毛片毛片免费观看| a级毛片免费高清视频| 亚洲国产成人久久综合野外| 午夜成人无码福利免费视频| 国产a v无码专区亚洲av| 精品免费久久久久国产一区 | 一二三四免费观看在线电影| 亚洲国产高清美女在线观看| 精品久久久久成人码免费动漫| 亚洲国产日韩精品| 国产成人免费A在线视频| 四虎影视久久久免费观看| 久久亚洲精品中文字幕三区| 国产午夜无码精品免费看动漫| 亚洲色偷偷av男人的天堂| 毛片免费观看的视频| 男性gay黄免费网站| 亚洲国产精品无码专区影院| 18禁免费无码无遮挡不卡网站| 午夜亚洲WWW湿好爽| 国产成人亚洲精品狼色在线| 99精品视频在线视频免费观看| avtt天堂网手机版亚洲| 亚洲国产精品日韩| 16女性下面无遮挡免费| 亚洲成a人无码亚洲成av无码| 亚洲线精品一区二区三区| 67194熟妇在线永久免费观看 | 亚洲精品无码mⅴ在线观看|