大哥大姐帮帮忙咯,js调用struts1无论如何找不到action ?求解!
一下为代码:struts-congig.xml;(由于不需要表单验证,没有form-bean配置)
<!--新增加的模块!功能是登陆进去根据登录用户的session取出用户的相应信息 -->
<action path="/newtask" scope="request" validate="false"
type="com.coreram.framework.common.action.NewTask" parameter="method" >
<forward name="ok" path="/success.jsp"/>
</action>
我自己的action类,只是为了测试,里面的代码基本可以无视:
package com.coreram.framework.common.action;
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.springframework.web.struts.DispatchActionSupport;
public class NewTask extends DispatchActionSupport{
public ActionForward newtask(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
if ("tom".equals("tom")) {
return mapping.findForward("ok");
}
return null;
}
}
javascript:
function doNewsTask(){
//task.jsp一开始加载首先调用这个函数,把action传过去,获取到当前session的username!!!
try {
//alert("error");
//location.href ="/Test.jsp";这种写法是正确的!!
//window.location.href="/Test.jsp"; 这种写法是错误的!!
var url="/newtask.do";
window.location.href=url;
}
catch(e)
{alert("wrong");}
}
另外struts-congig.xml中的全局异常节点使用了一个异常处理类,因为程序不是我写的,我是新来的,所以我现在最怀疑这个类引发我所有的问题,因为如上的javascript路径应该是正确的,可是一登陆就会出现异常页面,我也一起贴出来
<global-exceptions>
<exception key="general.exception" type="java.lang.Exception"
scope="request" handler="com.coreram.framework.exception.RedirectExceptionHandler"
path="/error.jsp" />
</global-exceptions>
public class RedirectExceptionHandler
extends ExceptionHandler {
private static org.apache.log4j.Logger logger = org.apache.log4j.LogManager.getLogger("RedirectExceptionHandler");
public ActionForward execute(Exception ex,
ExceptionConfig ae,
ActionMapping mapping,
ActionForm formInstance,
HttpServletRequest request,
HttpServletResponse response) throws
ServletException {
ActionForward forward = null;
ActionError error = null;
String property = null;
if (ae.getPath() != null) {
forward = new ActionForward(ae.getPath(),true);
}
else {
forward = mapping.getInputForward();
}
// Figure out the error
if (ex instanceof ModuleException) {
error = ( (ModuleException) ex).getError();
property = ( (ModuleException) ex).getProperty();
}
else {
logger.error(ex.getMessage());
error = new ActionError(ae.getKey(), ex.getMessage());
property = error.getKey();
}
// Store the exception
request.setAttribute(com.coreram.framework.Globals.KEY_ERROR_MESSAGE, ex.getMessage());
storeException(request, property, error, forward, ae.getScope());
return forward;
}
}
我之前做过一个小测试,如果直接调用一个jsp页面,action就可以传递过去,
测试的小程序:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'Test.jsp' starting page</title>
</head>
<body>
<form action="TestAction.do" method="get">
<input type="text" maxlength="12" name="userno">
<input type="submit" value="OK!">
</form>
</body>
</html>
action类
package com.coreram.framework.common.action;
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.coreram.framework.manager.sysuser.SysUser;
import com.coreram.framework.util.Pub;
public class TestAction extends DispatchAction {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
try {
String userno = Pub.val(request, "userno");
if (userno.equals("tom")) {
return mapping.findForward("success");
}
//SysUser user = (SysUser)request.getSession().getAttribute("cur_user");
//System.out.println(user.getUsername());
//System.out.println(user.getUserno());
//SysUser user = (SysUser) request.getSession().getAttribute(com.coreram.framework.Globals.USER_KEY);
} catch (Exception e) {
}
return mapping.findForward("failed");
}
}
求高人指点啊!!
相关推荐
树说明文档.doc
/jquery-1.4.4.min.js"></script><!-- 引入EasyUI JS库 --><script type="text/javascript" src="..
JEP30-PX100A PartModel Product Guidelines for Electronic-Device Substrates and Assemblies – XML Requ
JEP30-PX100A PartModel Product Guidelines for Electronic-Device Substrates and Assemblies – XML Requirements
基于Matlab的自动睡眠粒状结构检测算法,从脑电信号中进行。.zip
1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
JEP375 2.5D_3D Silicon thinned wafers with Through Silicon Vias (TSV’s) and Backside Redistribution
JEP375 2.5D_3D Silicon thinned wafers with Through Silicon Vias (TSV’s) and Backside Redistribution Layer (RDL).pdf
考虑供电可靠性与算力柔性的数据中心园区源‑储‑荷一体化规划研究(Matlab代码实现)
考虑供电可靠性与算力柔性的数据中心园区源‑储‑荷一体化规划研究(Matlab代码实现)内容概要:本文围绕“考虑供电可靠性与算力柔性的数据中心园区源-储-荷一体化规划”展开研究,提出了一种综合能源系统优化规划方法。该方法充分考虑数据中心对供电可靠性的高要求以及算力负载的灵活性特征,将电力供应、储能配置与计算负荷进行协同优化。通过建立数学模型,整合光伏发电、储能系统与数据中心负荷调度,利用Matlab代码实现优化求解,旨在提升能源利用效率、降低运营成本并增强系统韧性。研究涵盖了对新能源出力不确定性、负荷波动以及储能动态行为的建模与仿真分析,最终验证了所提一体化规划方案在提高供电可靠性和实现算力资源柔性调度方面的有效性。; 适合人群:具备一定电气工程、能源系统或计算机科学背景,从事数据中心、智能电网、综合能源系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 为数据中心园区的绿色低碳与高可靠运行提供规划设计方案;② 实现可再生能源的高效消纳与储能系统的优化配置;③ 探索算力作为柔性负荷参与电力系统互动的潜力,支撑新型电力系统建设。; 阅读建议:此资源以Matlab代码为核心,辅以理论模型,建议读者在理解基本原理的基础上,动手运行和调试所提供的代码,通过修改参数和场景设置来深入掌握一体化规划的优化逻辑与关键技术细节。


