struts1.3中使用DispatchAction的一个问题

最近做项目发现我们公司的项目是用struts1写的,在多方百度下,总有理解了struts1.3的DispatchAction的用法

一:struts.xml文件的配置

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
          "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
	<form-beans>
		<form-bean name="messageBoardFrom"
			type="com.jobe23.struts.form.message.MessageBoardForm">
		</form-bean>
	</form-beans>
	<action-mappings>
		<action path="/zc/graduate/index"
			type="com.jobe23.struts.action.message.MessageBoardAction" name="messageBoardFrom" parameter="action">
			<forward name="successMsg" path="/zc/graduate/index.jsp" />
			<forward name="retention" path="/zc/graduate/retention.jsp" />
		</action>

	</action-mappings>
</struts-config>

二:action的配置

package com.jobe23.struts.action.message;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

import com.jobe23.dao.message.MessageBoardDAO;
import com.jobe23.entity.message.MessageBoard;

/**
 * 专场留言
 * @author clyao
 * @param mapping
 * @param form
 * @param request
 * @param response
 * @return
 * @throws Exception
 */
public class MessageBoardAction extends DispatchAction {

	public ActionForward message(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		MessageBoard mb = new MessageBoard();
		MessageBoardDAO msgdao = new MessageBoardDAO();
		List<MessageBoard> msgList = new ArrayList<MessageBoard>();
		String mobile = request.getParameter("mobile");
		String msgContent = request.getParameter("msgContent");
		String specialTitle = request.getParameter("specialTitle");
		mb.setMobile(mobile);
		mb.setMsgContent(msgContent);
		mb.setSpecialTitle(specialTitle);
		try {
			if(mobile==null || mobile.equals(null)){

			}else{
				msgdao.save(mb);
			}
			msgList = msgdao.findAll();
			request.setAttribute("msgList", hideMobile(msgList));
		} catch (Exception e) {
			e.printStackTrace();
		}
		return mapping.findForward("successMsg");
	}
}

特别注意:这里的类必须继承DispatchAction,否则无法跳转到对应的方法

三:测试一下

http://localhost:8080/zc/graduate/index.do?action=message

它就会执行对应的message方法

文章可以写得不够完整,如何疑问,请留言

时间: 2024-10-09 08:08:29

struts1.3中使用DispatchAction的一个问题的相关文章

Struts1中通过DispatchAction实现数的运算

最近发现MDT推出去的系统的有不同问题,其问题就不说了,主要是策略权限被域继承了.比如我们手动安装的很多东东都是未配置壮态,推的就默认为安全壮态了,今天细找了一下,原来把这个关了就可以了. Struts1中通过DispatchAction实现数的运算

Struts1.x 中的 Validate 框架

转载于http://www.blogjava.net/nokiaguy/archive/2009/02/12/254421.html 一.Validator框架的优势        Validator框架是一个Struts插件,最初由David Winterfeldt设计并实现.Validator框架从Struts 0.5时代就可以使用,但那时Validator框架只是被捐助的一个jar包.Apache组织为了使开发人员更方便地使用Validator框架,决定从Struts1.1开始,将Vali

init-param和context-param 中获取数据的一个问题

init-param  中的数据是要在制定的 servlet 下才能取的到数据的 其中获取 init-param  的可以用 这样的一个方式去获取 ServletConfig config = getServletConfig(); String name = config.getServletName("name") 或者在init方法中获取 public void init(ServletConfig config) throws ServletException { config

工作中关于rpm的一个简单但头疼的问题

工作中关于rpm的一个简单但头疼的问题: 公司有个需要自动化更新rpm包的需求,rpm包名是:tingyun-agent-php-1.0.5-1.x86_64,本来是一个很简单的东西,一行代码就可以实现: for a in `rpm-aq|grep tingyun`;do rpm -e $a;done 但是结果是: [[email protected] scripts]# for a in`rpm -aq|grep tingyun`;do rpm -e $a;done error: packag

JAVA获取oracle中sequences的最后一个值

项目中,用到一个序列作单号,框架用的是ssh,在dao层去拿的时候,运行时报错为dual is not mapped,[select *.nextval nextvalue from dual] 后来检查发现,获取方式不对,于是改成下面这样,就可以正常获取了 //获取seq的最后一个值 public String findSeq(){ try { String sql = "select PATIENT_SEQ.nextval nextvalue from dual"; Integer

android如何在一个activity中finish掉另外一个activity

============问题描述============ 请教:android如何在一个activity中finish掉另外一个activity? ============解决方案1============ 1.finishAcyivity() 2.用广播监听 3.用ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);试试吧 ============解决方案2============ 比如说B要fin

求圆圈中剩下的最后一个数字

n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字).当一个数字删除后,从被删除数字的下一个继续删除第m个数字.求出在这个圆圈中剩下的最后一个数字. 这个问题在wiki上叫约瑟夫斯问题. 一开始的序列是 S(n): n-1, 0, 1, 2, 3, ...., n -2 (一个环) 删除了第k=(m-1)%n个数,之后变成 S': n-1, 0, 1,2,...,k-1,k+1,...,n-2 S(n-1)

前台页面验证中需要注意的一个与VARCHAR2(N BYTE)和VARCHAR2(N CHAR)的小细节

1:一个小的测试实例 CREATE TABLE SALES.TEST_ ( TEST_BYTE VARCHAR2(5 BYTE), TEST_CHAR VARCHAR2(5 CHAR) )--TABLE CREATED INSERT INTO TEST_ (TEST_CHAR) VALUES('12345')--1 ROW INSERTED INSERT INTO TEST_ (TEST_BYTE) VALUES('12345')--1 ROW INSERTED INSERT INTO TEST

linux下开发,解决cocos2d-x中编译出现的一个小问题, undefined reference to symbol &amp;#39;[email&#160;protected]@GLIBC_2.2.5&amp;#39;

解决cocos2d-x中编译出现的一个小问题 对于cocos2d-x 2.×中编译中,若头文件里引入了#include "cocos-ext.h",在进行C++编译的时候会遇到例如以下错误: undefined reference to symbol '[email protected]@GLIBC_2.2.5'/lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command li