<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 框架
    主站蜘蛛池模板: 一级毛片免费观看| 国产猛男猛女超爽免费视频| 亚洲国产精品无码中文lv| 亚洲人成未满十八禁网站| 美女18一级毛片免费看| 国产精品1024在线永久免费| 91老湿机福利免费体验| 欧洲黑大粗无码免费 | 日韩精品内射视频免费观看| 成年男女男精品免费视频网站 | 中文字幕在线日亚洲9| 男女猛烈无遮掩视频免费软件| 精品免费视在线观看| 亚洲ⅴ国产v天堂a无码二区| 青娱乐在线视频免费观看| 亚洲一区二区三区免费视频| 亚洲午夜精品第一区二区8050| 亚洲人成毛片线播放| 在线观看免费黄网站| 在线看片无码永久免费aⅴ| 亚洲Av永久无码精品三区在线| 亚洲Av无码国产一区二区 | 67194在线午夜亚洲| 日本在线免费观看| 亚洲精品国产va在线观看蜜芽| 亚洲一卡2卡3卡4卡国产网站| 野花香高清视频在线观看免费| 亚洲国产女人aaa毛片在线| 国产99精品一区二区三区免费 | 亚洲精品乱码久久久久久蜜桃不卡| 亚洲熟女www一区二区三区| 一区二区三区在线免费看| 亚洲视频无码高清在线| 亚洲色一色噜一噜噜噜| 99久久精品免费视频| 老牛精品亚洲成av人片| 四虎免费在线观看| 亚洲男同gay片| 亚洲熟妇丰满多毛XXXX| 国产激情久久久久影院老熟女免费 | 久久国产亚洲高清观看|