<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 閱讀(195) 評論(0)  編輯  收藏 所屬分類: java 框架
    主站蜘蛛池模板: 久久久久久亚洲AV无码专区| 国内精品免费久久影院| 亚洲综合精品一二三区在线 | 亚洲AV无码成人精品区蜜桃 | 亚洲AV成人精品一区二区三区| 亚洲伊人久久大香线蕉苏妲己| 久久精品国产精品亚洲| 永久免费看bbb| 9久9久女女免费精品视频在线观看| 在线看片免费人成视频福利| 一级毛片免费播放试看60分钟| 亚洲精品V天堂中文字幕| 亚洲av无码久久忘忧草| 亚洲自偷自偷精品| 亚洲第一中文字幕| 久久久无码精品亚洲日韩蜜桃| 亚洲爽爽一区二区三区| 全黄性性激高免费视频| 国产色爽女小说免费看| 日韩一级免费视频| 日本牲交大片免费观看| 国产高清免费观看| 国产精品自在自线免费观看| 夫妻免费无码V看片| 好爽…又高潮了毛片免费看| 青娱分类视频精品免费2| 无码国产精品一区二区免费式影视| 88xx成人永久免费观看| 天天影视色香欲综合免费| 91香蕉在线观看免费高清| 99久久人妻精品免费一区| 久艹视频在线免费观看| 99爱视频99爱在线观看免费| 一区二区三区四区免费视频| 7x7x7x免费在线观看| 91精品免费久久久久久久久| 91久久成人免费| 成人免费无码大片A毛片抽搐色欲 成人免费无码大片a毛片 | 日韩电影免费在线观看中文字幕| 国产免费一区二区三区在线观看| 日本视频在线观看永久免费|