Java 如何在html:formaction中仅重新加载div内容?Struts 1.3
我正在使用Struts 1.3.10、Tiles和Hibernate开发一个web应用程序 登录表单在body互动程序中,当登录按钮为submit时,我只需要重新加载body内容。 表格如下:Java 如何在html:formaction中仅重新加载div内容?Struts 1.3,java,struts,reload,tiles,Java,Struts,Reload,Tiles,我正在使用Struts 1.3.10、Tiles和Hibernate开发一个web应用程序 登录表单在body互动程序中,当登录按钮为submit时,我只需要重新加载body内容。 表格如下: login.jsp <div class="login"> <h2>Login</h2> <html:form action="/loginAction" > <div><p>User</p&g
login.jsp
<div class="login">
<h2>Login</h2>
<html:form action="/loginAction" >
<div><p>User</p> <html:text property="userName" /></div>
<div><p>Password</p> <html:password property="password" /></div>
<div><html:submit value="Login"/></div>
</html:form>
</div>
我试图返回null,因为我不需要转发到另一个页面,我只想重新加载div内容(通过javascript)。但这一行动的结果是白页
您知道如何解决此问题吗?使用下面的代码调用将提交ajax请求的javascript方法
<html:button onclick="javascript:callMyMethodToSubmitAjax()" value="Submit"/>
javascript看起来像下面的内容
<script type="text/javascript">
function callMyMethodToSubmitAjax() {
var $form = $('#strutsFormHtmlId'); // set your form ID
$.ajax({
type: 'POST',
url: $form.attr('action'),
data: $form.serialize(),
success: function (msg) {
alert("success");
},
error: function (msg) {
alert("error");
}
});
}
函数callMyMethodToSubmitAjax(){
var$form=$('#strutsFormHtmlId');//设置表单ID
$.ajax({
键入:“POST”,
url:$form.attr('action'),
数据:$form.serialize(),
成功:函数(msg){
警惕(“成功”);
},
错误:函数(msg){
警报(“错误”);
}
});
}
您是否考虑过使用jquery作为ajax请求提交数据?是的!我已经试过了,但是html:form definiton需要关联到一个动作,我不知道如何避免这种情况,你知道吗?你可以使用一个它不够有效,我的意思是我用javascript正确地获取了表单数据,但是ajax调用后没有显示警报,似乎有些操作不起作用。你能给我发一个struts配置和操作的例子吗?你看到正在发送的请求了吗?或者你看到请求击中了控制器了吗?您可以使用firebug来查看是否发送了请求,以及是否存在javascript错误。一个传统问题是,如果我想通过该方法传递会话变量,我该怎么做?如果它在会话中,则无需将其从页面传递到控制器。您可以使用request.getSession().getAttribute(“属性名称”);如果要将会话变量传递给javascript函数,只需在jsp中使用表达式${SessionLogin}。这只在jsp2之后起作用
<script type="text/javascript">
function callMyMethodToSubmitAjax() {
var $form = $('#strutsFormHtmlId'); // set your form ID
$.ajax({
type: 'POST',
url: $form.attr('action'),
data: $form.serialize(),
success: function (msg) {
alert("success");
},
error: function (msg) {
alert("error");
}
});
}