这是我的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.xm:<!--新增加的模块!功能是登陆进去根据登录用户的session取出用户的相应信息 --><action name="Task_news" path="/Task_Action" scope="request"type="com.coreram.newTask.Task_Action" parameter="method" ><forward name="ok" path="/Test.jsp"/>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>action的位置我放在了最外面
2 回答
慕的地6264312
TA贡献1817条经验 获得超6个赞
struts1你别弄那么复杂的例子测试,要是你对struts1不懂就用一个简单的例子测试,然后再看哪里不会,然后再求助,你这样弄一堆出来了,我们也不知道哪里出错了。我struts1、struts2都学过了,它们流程上还是比较相似的。只是细节上的东西不同。
智慧大石
TA贡献1946条经验 获得超3个赞
location.href ='/Task_Action?TestNo=1';这个看起来没什么问题,你先看看你的web.xml里面是不是有对url进行过滤,看看后缀有没有什么要求,这个后缀不一定是.do或者.action之类的,你要看你们公司在web.xml里面是怎么配置的。想办法先走通吧,不忙着传递参数,先来一个简单版的,看看如何进入action,之后再传参,做业务处理。
添加回答
举报
0/150
提交
取消