Struts基础案例

来源:互联网 发布:json在线解析器 编辑:程序博客网 时间:2024/06/15 15:28

Struts基础的页面跳转

刚刚接触struts,在网上找的案例,但是自己一用,就BUG连连花了挺久的时间,终于走起来了。


jar包

jar包


这里按响应顺序来展示文件

首先是第一个跳转的界面


login.jsp:

    <form action="login.action">       name<input type="text" name="user_name">        <input type="submit" value="jumen">    </form>

解释:一个文本框和一个提交按钮,提交后,我们要捕获以.action结尾的事件,所以需要拦截器


web.xml拦截器:

  <display-name>Struts1</display-name>  <filter>    <filter-name>struts2</filter-name>    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  </filter>  <filter-mapping>    <filter-name>struts2</filter-name>    <url-pattern>*.action</url-pattern>  </filter-mapping>

解释:这里拦截之后进入org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。这里面预设了一些东西,把我们的响应跳转到一个规定名称的文件下,struts.xml,所以我们必须要有这样一个文件


在src下面创建的struts.xml:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts><constant name="struts.devMode" value="true" />         <!-- 指定每次请求到达,重新加载资源文件 -->        <constant name="struts.i18n.reload" value="true"/>        <!-- 指定每次配置文件更改后,自动重新加载 -->         <constant name="struts.configuration.xml.reload" value="true"/>        <!-- 把主题配置为simple -->        <constant name="struts.ui.theme" value="simple"/>         <package name="Struts" extends="struts-default" namespace="/">         <action name="login" class="com.oumyye.action.LoginAction">             <result name="success">/success.jsp</result>         </action>         </package></struts>
解释:这里我们设置一些加载配置和跳转的位置<action name="login" class="com.oumyye.action.LoginAction">。那么我们就要有一个叫com.oumyye.action的包,包里还要有个LoginAction的类用来获取响应的数据,在加上一个success.jsp的页面来显示数据


com.oumyye.action.LoginAction:

package com.oumyye.action;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport{private static final long serialVersionUID = 1L;    HttpServletRequest request = ServletActionContext.getRequest();    @Override    public String execute() throws Exception {        String  name=request.getParameter("user_name");//获得user_name        request.setAttribute("name",name);//设值        return SUCCESS;    }}
解释:这里要继承ActionSupport,并使用execute方法来接收和返回数据


success.jsp:

  <body>  欢迎 ${name} 跳转成功!!  </body>

解释:显示传输过来的信息





原创粉丝点击