一个java web的struts的action处理问题。请指教!

我的javaweb项目采用的Struts1.2(不是struts2)+Spring+Hibernate框架,在一个jsp中有登陆表单form,交由action="/boo... 我的java web项目采用的Struts1.2(不是struts 2)+Spring+Hibernate框架,在一个jsp中有登陆表单form,交由action="/book/login.do"处理,这样最终会交给action处理类LoginAction(继承自struts 1的Action类)的execute()方法来处理,并将能得到期望的结果(执行成功且跳转到某一页面)。但是,当我将jsp页面的action改为action="/book/login.do?method=validateLogin",同时将LoginAction类中的execute方法名改为validateLogin,在struts的配置文件struts-config.xml中相应的action元素中加上了parameter="method"属性,即用LoginAction类中指定的方法validateLogin来处理login.do,从最终结果来看貌似没有执行这个方法(因为我在这个方法体内部加了控制台输出语句,如果方法被执行的话会有字符串输出至控制台)。请问这是为什么呢?难道是还差哪些配置吗?急急急啊,在线等!!谢谢!我这样做是想在一个action处理中写多个方法,处理不同的action请求,不然,得为每个action写一个action类,在使用其中的execute方法,太麻烦了。 展开
 我来答
zihanchuanxue
2012-04-28
知道答主
回答量:24
采纳率:0%
帮助的人:20.4万
展开全部
有两种方法解决你的问题
1:你现在的LoginAction是继承的struts1的Action类,这样通过你的配置时不能达到效果的,应该将你的LoginAction的继承类改为DispatchAction类,就可以了
2:不改变继承类也行,你在你的execute()方法里面,获取method这个参数,比如你的method参数传进的是 validateLogin,你在你的execute()方法里面这样写:
String method = request.getParameter("method");
if("validateLogin".equals(method)){
return validateLogin(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response);
}

希望对你有帮助 , 共勉!
佳达源
2024-10-28 广告
AR0144CSSM20SUKA0-CPBR这款产品,作为我司产品线中的重要一员,集成了高精度的传感器技术与先进的图像处理算法,广泛应用于安防监控、工业自动化及机器视觉等领域。其卓越的性能与稳定性,确保了在各种复杂环境下的精准数据采集与高效... 点击进入详情页
本回答由佳达源提供
贪生却又怕死
2012-04-28 · TA获得超过255个赞
知道小有建树答主
回答量:230
采纳率:0%
帮助的人:233万
展开全部
一个Action实现多个方法,“改为action="/book/login.do?method=validateLogin" ”这种方式我没用过。要么换种方法比如:Login!login.action.去访问Action里面的login方法!
追问
具体是怎么样的? "Login!login.action"写在哪里?Login代表什么?login在这里是一个action请求还是action处理类中的一个方法??这种写法还需要什么配置吗?
追答
地址栏:Login!login.action.第一个Login为Login是Action的名字,感叹号后面的是Action方法,
这个事struts.xml. 另外web.xml要改一下!

//下面写每一个方法名
/index.jsp
/register.jsp
...
...

接着写其他Action

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
春日限時椿花3z
2012-04-28
知道答主
回答量:97
采纳率:0%
帮助的人:24.1万
展开全部
action="/book/login.do!validateLogin ”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bdliwen2525775
2012-04-28
知道答主
回答量:23
采纳率:0%
帮助的人:8.7万
展开全部
只要改下你那个action的类,继承至DispatchAction
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式