如何从java脚本重定向到struts动作?
如果脚本中的条件成功,那么我需要在config xml中调用一个动作,否则调用控件的动作不需要保持在同一页面上?请帮忙吗?
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>
答案 0 :(得分:6)
试试吧
window.location='youractionname'
这会将您的窗口重定向到目的地
如果您想将您的值发送到其他页面,请按照此方法
<%@ 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>
我修改的是,将按钮的功能改为表单提交。 并从功能中删除了不需要的东西
答案 1 :(得分:3)
您可以使用点击事件
上的参数调用动作控制器$('#loginSubmit').click(function(){
var Username= take the value for text fields
var Password =take the value for text fields
var url = "login";
var FormD = '<form method="post" action="' + url + '" id="frmSubmit" autocomplete="off">';
FormD += '<input type="hidden" name="Username" value="' + Username+ '" />';
FormD += '<input type="hidden" name="Password" value="' + Password+ '" />';
FormD += '</form>';
$("body").append(FormD); $("#frmSubmit").submit();
});
答案 2 :(得分:2)
尝试是:
function displayDate(){
var x=document.getElementsByName("userName")
if(x = "shan")
{
alert("shankarasd");
document.myForm.action ="/setUpForInsertOrUpdate";
document.myForm.submit();
location.href = "nameaction.action?parameter1="+value1+"¶meter2="+value2;
}
}