Java 如何在html:formaction中仅重新加载div内容?Struts 1.3

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

我正在使用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> <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");
        }
    });
}