给系统新添加一个模块,
这是我的javascript函数:
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:
 <!--新增加的模块!功能是登陆进去根据登录用户的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>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,求指点!!!

解决方案 »

  1.   

    应该是配置的问题吧
    检查struts.xml的配置,或者路径应该是/Task_Action.action?
    /Task_Action是一个Servlet
      

  2.   


    大神,这里有个更具体的,劳烦你看下这个吧,我突然发现我直接可以取到session里的值,不需要这么麻烦了,但是我还是很疑问,这个问题为什么会发生, 很焦虑啊, 这个项目不是我写的,是公司的前辈,我是新人,我今天刚发的帖子,您不忙的话就给看下吧,忙的话就算了,谢谢http://topic.csdn.net/u/20120710/14/bb751db6-eaa6-4ef7-8715-af1ce94563b4.html
      

  3.   

    struts1已经过时了,如果现在还有公司在用的话就说明这个公司out了,现在struts2才是王道,才是主流啊,兄弟,赶紧丢了struts1,奔上struts2的旅途吧,祝你一帆风顺。 
      

  4.   


    兄弟啊,你说的这个我知道啊,我培训班出来学的也是ssh2啊,可是到了公司人家项目是struts1的,数据库sqlserver,我学的是oracle的,个人也比较喜欢struts2,但是新加了一个模块,我尝试在struts1的环境下整合struts2,失败了,struts2有一个插件可以整合struts1,所以我老老实实的把struts1自学了一边啊, 个人感觉他们相差不是很大,struts2更简洁些。老的项目都是struts1的,事与愿违啊,呵呵,什么都要学习的!