<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 框架
    主站蜘蛛池模板: 久久精品亚洲一区二区| 韩国日本好看电影免费看| 中文字幕亚洲激情| 美女裸体无遮挡免费视频网站| 成人毛片免费观看视频在线| 亚洲无吗在线视频| 无码人妻一区二区三区免费手机| 亚洲嫩草影院在线观看| 免费阿v网站在线观看g| 亚洲一久久久久久久久| 国产免费私拍一区二区三区| 特黄特色大片免费| 亚洲中文字幕第一页在线| 久操视频在线免费观看| 亚洲成人在线免费观看| 日韩免费电影在线观看| 成人免费网站久久久| 国产成A人亚洲精V品无码性色| 久久国产精品萌白酱免费| 亚洲国产高清在线精品一区| 成在人线AV无码免费| 免费一级毛片在线播放视频免费观看永久| 免费国产a国产片高清网站| 国产免费久久精品99久久| 亚洲AV人无码激艳猛片| 毛片免费在线播放| 337P日本欧洲亚洲大胆艺术图 | 一级毛片不卡片免费观看| 国产精品亚洲精品观看不卡| 国产麻豆免费观看91| 中文在线免费视频| 亚洲欧洲精品在线| 亚洲AV无码一区二三区| 男人进去女人爽免费视频国产| 亚洲一区二区三区高清不卡| 亚洲日韩中文在线精品第一| 67194成手机免费观看| 韩国亚洲伊人久久综合影院| 亚洲大尺度无码无码专区| 最近最新的免费中文字幕| 和老外3p爽粗大免费视频|