如何从struts 2 中的java 脚本重定向到struts 动作?

2022-01-16 00:00:00 javascript struts2

如何从 java 脚本重定向到 struts 动作?

how to redirect to struts action from java script?

如果脚本中的条件成功,那么我需要在配置 xml 中调用一个操作,否则调用控件的任何操作都不需要停留在同一页面上?请帮忙?

if condition in the script got success then i need to invoke one action in the config xml, otherwise no action invoking the control needs to stay at same page? please help on this?

Java 脚本

    function displayDate()
{

       var x=document.getElementsByName("userName")
    if(x = "shan")
    {   
    alert("shankarasd");
    document.myForm.action ="/setUpForInsertOrUpdate";
    document.myForm.submit();
    }

}

HTML

    <html>
        <body>
        <s:form action="HelloWorld" >
            <s:textfield name="userName" label="User Name" />
            <s:submit onclick="displayDate()" />
        </s:form>
    </body>
</html>

config.xml

 <struts>
    <package name="default" extends="struts-default">
        <action name="HelloWorld" class="vaannila.HelloWorld.HelloWorld"> 
            <result name="SUCCESS">/success.jsp</result>
        </action>
        <action name="setUpForInsertOrUpdate" method="setUpForInsertOrUpdate" class="vaannila.HelloWorld.HelloWorld">
            <result name="SUCCESS1">/success1.jsp</result>
        </action>
        <action name="back" method="back" class="vaannila.HelloWorld.HelloWorld">
            <result name="SUCCESS2">/success.jsp</result>
        </action>
    </package>
</struts> 

推荐答案

试试看

window.location='youractionname'

这会将您的窗口重定向到您的目的地

This will redirect your window into your destination

如果您想将您的值发送到其他页面,请按照此方法

If you want to sent your values to other page, then follow this method

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script type="text/javascript">

function displayDate()
{

   var x=document.getElementsByName("userName")
if(x =="shan")
{   
alert("Redirecting");
return true;
}
else{  
alert("Not Redirecting");
return false;
}
}
</script>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
  <s:form action="HelloWorld"  onsubmit="displayDate();">
        <s:textfield name="userName" label="User Name" />
        <s:submit onclick="displayDate()" />
    </s:form>
</body>
</html>

我修改的是,将函数调用从按钮更改为表单提交.并从函数中删除不需要的东西

What I modified is, changed the function calling from button to form submit. And removed the unwanted things from function

相关文章