`

Struts的页面控制与配置

阅读更多
一,用到文件
1.输入页面
input1.jsp页面
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%> 
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
 
<html> 
	<head>
		<title>JSP for HelloWorldForm form</title>
	</head>
	<body>
		<html:form action="/helloWorld2">
			msg : <html:text property="msg"/><html:errors property="msg"/><br/>
			<html:submit/><html:cancel/>
		</html:form>
	</body>
</html>


threeInput.jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'input3.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <form action="<%=basePath%>threeInput.do" method="post">&nbsp; 
    欢迎语:<input type="text" name="msg" value="" />
    <input type="submit" name="method" value="insert" />
    <input type="submit" name="method" value="update" />
    <input type="submit" name="method" value="delete" />
    </form>
  </body>
</html>


2.输出页面
show.jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'show.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  <%
  String str = (String)request.getAttribute("helloWorld");
  %>
  <body>
   你输入的欢迎语1是:${helloWorld}<br>
   你输入的欢迎语2是:<%=str%>
  </body>
</html>


3.ActionForm类

public class HelloWorldForm extends ActionForm {
	/*
	 * Generated fields
	 */

	/** msg property */
	private String msg;

	/*
	 * Generated Methods
	 */

	/** 
	 * Method reset
	 * @param mapping
	 * @param request
	 */
	public void reset(ActionMapping mapping, HttpServletRequest request) {
		// TODO Auto-generated method stub
	}

	/** 
	 * Returns the msg.
	 * @return String
	 */
	public String getMsg() {
		return msg;
	}

	/** 
	 * Set the msg.
	 * @param msg The msg to set
	 */
	public void setMsg(String msg) {
		this.msg = msg;
	}
}


4.action类

[1]HelloWorld1Action 类
public class HelloWorld1Action extends Action{
	
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		// TODO Auto-generated method stub
		String str = "hello zhao在";
		request.setAttribute("helloWorld", str);
		return mapping.findForward("show");
	}
}

[2]HelloWorld2Action 类
public class HelloWorld2Action extends Action {
			
public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		HelloWordForm helloWordForm = (HelloWordForm) form;// TODO Auto-generated method stub
		String msg = helloWordForm.getMsg();
		request.setAttribute("helloWorld", msg);
		//response.setCharacterEncoding("utf-8");
		//response.setContentType("text/html;charset=utf-8");
		return mapping.findForward("show");
	}
}

[3]ThreeInputAction类
public class ThreeInputAction extends DispatchAction {
	
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		HelloWordForm helloWordForm = (HelloWordForm) form;// TODO Auto-generated method stub
		return null;
	}
}

二.配置struts-config.xml
1.无输入页面,只有action和输出
<action-mappings >
    <action path="/helloWorld1" type="com.zhao.struts.action.HelloWorld1Action">
      <forward name="show" path="/WEB-INF/jsp/show.jsp" />
    </action>
</struts-config>

2.有输入页面,无bean,action就要用 request.getParameter("msg");拿参数
3.有bean
<form-beans >
    <form-bean name="helloWorldForm" type="com.zhao.struts.form.HelloWorldForm" />
</form-beans>

<action-mappings >
 <action
      attribute="helloWorldForm"
      name="helloWorldForm"
      path="/helloWorld2"
      scope="request"
      type="com.zhao.struts.action.HelloWorld2Action"
      validate="false">
      <forward name="show" path="/WEB-INF/jsp/show.jsp" />
    </action>
</action-mappings >

4.输入页面的配置
[1]直接/form/input1.jsp浏览就不用配置
[2]
<!--struts能生成-->
 <action forward="/WEB-INF/jsp/input1.jsp" path="/input2" />
 <action include="/WEB-INF/jsp/input1.jsp" path="/input3" />
 <!--struts不能生成-->   
     <action 
    path="/input4" 
    type="org.apache.struts.actions.ForwardAction"
    parameter="/WEB-INF/jsp/input1.jsp" />

5.多按钮的配置
<action
      attribute="helloWorldForm"
      name="helloWorldForm"
      parameter="method"
      path="/threeInput"
      scope="request"
      type="com.zhao.struts.action.ThreeInputAction">
      <forward name="show" path="/WEB-INF/jsp/show.jsp" />
    </action>

分享到:
评论

相关推荐

    struts与tomcat的配置与工作原理

    在Struts中,控制器由ActionServlet实现,它根据`struts-config.xml`配置文件的指令,协调模型和视图的工作。 Struts的主要配置文件包括: - `web.xml`:这是Web应用的部署描述符,配置ActionServlet以及设定首页...

    ·Struts2配置文件介绍 超级详细

    在Struts2框架中,有多个重要的配置文件用于控制应用的行为与结构,其中最核心的是`struts.xml`文件。此外还包括`web.xml`、`struts.properties`、`struts-default.xml`等。 - **web.xml**:它是Web应用的部署描述...

    struts 2.0 详细配置

    #### 五、Struts 2.0 的配置与部署 1. **部署描述符 web.xml**: ```xml &lt;filter-name&gt;struts2 *.action ``` - 这里配置了 Struts 2 的前端控制器 FilterDispatcher。 - 所有以 .action 结尾的 URL 请求...

    struts2 result配置详解

    Struts2 Result 配置详解 Struts2 框架中 Result 配置是一种非常重要的配置,它直接影响着应用程序的执行结果。Result 配置通常用于定义 Action 的执行结果,例如将结果.redirect 到一个新的 URL,或者将结果....

    struts2 在eclipse 配置成功

    Struts2是一款强大的Java Web框架,它为开发MVC(模型-视图-控制器)架构的应用程序提供了便利。在Eclipse这个流行的Java集成开发环境中配置Struts2,可以帮助开发者更高效地构建动态Web项目。以下将详细介绍如何在...

    Struts 2使用注解配置Action

    在传统的Struts 2应用中,我们通常会通过XML配置文件(struts.xml)来定义Action,包括Action类、结果页面、拦截器等信息。然而,随着Java注解的广泛应用,Struts 2也引入了注解配置的方式来简化开发过程,避免了XML...

    struts2参数配置

    - **ActionForward**:Struts2中用于控制页面跳转的对象。 - 默认使用`org.apache.struts.action.ActionForward`作为ActionForward实现。 - ActionForward用于定义请求处理完成后页面的跳转逻辑。 ##### 2. **...

    Struts2入门与配置

    本文将深入讲解Struts2的入门与配置,以及其核心概念和原理,同时涵盖Struts2与其他技术如JSF和Ajax的整合。 **Struts2入门及基本配置** Struts2入门首先需要理解其基本架构。Struts2的核心是Action类,它是处理...

    struts2所有包和配置文件

    在Struts2中,`web.xml`通常会包含Struts2的前端控制器Servlet,即`org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter`的配置。这个过滤器负责拦截HTTP请求,并将它们路由到Struts2的Action类...

    struts2配置文件

    通过上述配置,当访问`http://localhost:8080/struts2Test/struts2/login_isLogin.action`时,Struts2框架将调用`LoginAction`的`isLogin`方法,然后显示与`isLogin`结果匹配的`/login.jsp`页面内容。 总的来说,...

    struts2 使用注解现在零配置不需要在使用struts.xml配置文件,可以直接跑

    在Struts2中,注解被用来标注控制器类、方法以及它们的行为,简化了原本需要在`struts.xml`中定义的动作配置。 例如,`@Action`注解用于标记一个类作为Struts2的Action,这个类将处理来自客户端的请求。你可以指定...

    Struts1.3和config配置详解

    在Struts1.3版本中,`struts-config.xml`配置文件扮演着至关重要的角色,它是Struts框架的核心配置文件,定义了控制器的行为和应用的结构。 `struts-config.xml`配置详解: 1. **全局常量配置**:此部分用于定义...

    struts配置大全(1、2全)

    这里的配置使得Spring MVC能够识别注解驱动的控制器,视图解析器会将返回的逻辑视图名与指定的前缀和后缀组合成实际的JSP路径。 **总结** 理解并掌握Struts 1和Struts 2的配置是Java Web开发中的重要技能。Struts ...

    Struts2的DTD配置文件struts-2.3.dtd

    Struts2是一个流行的Java web应用程序框架,用于构建和维护可扩展、模块化和高度交互性的MVC(模型-视图-控制器)应用。在Struts2中,`struts.xml`是核心配置文件,它定义了应用的行为、动作、结果和其他组件。为了...

    Struts配置及标签库详解

    3. `struts-logic.tld`:Logic标签库,提供了一些逻辑控制标签,如条件判断(`&lt;logic:equal&gt;`)、循环(`&lt;logic:iterate&gt;`)、导航(`&lt;logic:forward&gt;`)等,帮助开发者在JSP页面中实现复杂的业务逻辑。 4. `struts-...

    struts 配置

    总的来说,`web.xml`和`struts-config.xml`共同构成了Struts框架的基础配置,使得开发者能够精细地控制请求处理流程、数据验证、异常处理和资源管理。正确配置这两个文件是确保Struts应用程序正常运行的关键。

    struts2+myeclipse 配置入门

    4. **配置struts.xml**: 在src目录下创建struts.xml文件,定义Action与结果页面的映射。比如: ```xml &lt;!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" ...

    struts配置的文件 连接池 mysql等配置文件

    在Struts2中,配置文件起着至关重要的作用,它们定义了应用的行为、请求的映射、数据验证规则以及与数据库的交互。下面将详细讨论Struts2配置文件的相关知识点,包括核心配置文件、连接池配置以及MySQL数据库的配置...

Global site tag (gtag.js) - Google Analytics