当前位置: 代码迷 >> Java Web开发 >> struts1找不到action有关问题
  详细解决方案

struts1找不到action有关问题

热度:9254   发布时间:2013-02-25 21:16:45.0
struts1找不到action问题!
给系统新添加一个模块,
这是我的javascript函数:
JScript code
function donewsTask(){//task.jsp一开始加载首先调用这个函数,把action传过去,获取到当前session的username!!!try {      // location.href='/Test.jsp';     //alert("error");    location.href ='/Task_Action?TestNo=1';    }    catch(e)        {alert("wrong");}}

目的:在jsp的body里直接
  onload="donewsTask()"
很奇怪的是action怎么也取不到,我做了一个测试页面
  // location.href='/Test.jsp';
这个页面也是struts1,就可以找到,我直接获取action就不行,我的目的是首页加载完毕之后,会加载我现在这个页面,我想通过body onload调用一个函数直接调用我自己的action,进到action里面获取到当前的session,获取当前用户的用户名,然后再根据用户权限来取值,现在在函数调用那里卡住了,很郁闷,求高手解救,我自己开始学习的是struts2,但是到了公司项目是struts1的,要加一个新模块,我尝试过想在struts1的基础上整合struts2,但是失败了,老老实实的学习struts1,基本的功能我和大家说下,这个系统进去后,用户的信息都被存在session中,我想根据他们的session的username来再做一张表,显示的是当前用户的基本信息和待办事件,以下是我的action和struts-config.xml:
XML code
 <!--新增加的模块!功能是登陆进去根据登录用户的session取出用户的相应信息  -->        <action  name="Task_news"  path="/Task_Action" scope="request"  validate="false"         type="com.coreram.newTask.Task_Action" parameter="method" >                <forward name="ok" path="/success.jsp"/>                </action>


Java code
public class Task_Action extends DispatchActionSupport {public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception {/*SysUser user = (SysUser) request.getSession().getAttribute(com.coreram.framework.Globals.USER_KEY);if (user.getUsername().equals("超级管理员")) {System.out.println("oye!");return mapping.findForward("ok");}*/String TestNo = Pub.val(request, "TestNo");if (TestNo.equals("1")) {System.out.println("success");return mapping.findForward("ok");}return null;}}


现在就是找不到action,/Task_Action 这里应该自己去寻找对应的action,应该不需要我在连接里面加上路径之类的,我在action类里面加了断点,压根就没进去,说明我还是javascript那里写的有问题,找不到action,求指点!!!

------解决方案--------------------------------------------------------
应该是配置的问题吧
检查struts.xml的配置,或者路径应该是/Task_Action.action?
/Task_Action是一个Servlet
  相关解决方案