2

我有一个使用 jQuery 和 ajax 的 Java Struts2 Web 应用程序。

JSP 的源代码如下所示。

在welcome.jsp 中,有三个文本字段,一个选择字段和一个使用ajax($.load()) 加载的字段。

在welcome.jsp 中输入数据后单击提交按钮获取success.jsp。如果我们单击success.jsp 中的后退按钮(映射到history.back()),我们将返回welcome.jsp,但字段中的数据未正确加载。使用 ajax 加载的字段之前的所有字段都保留其中的数据,但使用 ajax 加载的字段之后的字段不保留数据。

上述问题出现在 Firefox 浏览器中,但不在 Internet Explorer 中。

jquery地址插件会解决这个问题吗?如果是这样,我该怎么做?他们网站上的文档对我没有多大帮助,因为我是 jQuery 新手。

我引用了以下网址。

https://stackoverflow.com/questions/116446/what-is-the-best-back-button-jquery-plugin

http://www.jquery4u.com/plugins/history-back-button-plugins/

http://www.asual.com/jquery/address/

欢迎.jsp

.......................................
<%@taglib uri="/struts-tags" prefix="s"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%> 
<!DOCTYPE html>
<html>
<head>
.................................................
<title>Welcome</title>
<sj:head jqueryui="true" debug="true"/>

</head>
<body>
<s:form id="suburbform" name="suburbform" action="sub">
<s:label value="Test Field1"></s:label>
<s:textfield name="field1"></s:textfield>
<br/>
<table>
<tr>
<td><s:label value="Category"></</s:label></td>
<td><s:select name="category" id="categorySelect" list="{'Fruits','Vegetables'}"></s:select>
</td>
</tr>
</table>

<div id="subcategorydiv">
</div>
<script type="text/javascript">

    $(document).ready(function(){
        $('#categorySelect').change(function(){
            var catValue = $(this).val();
            $('#subcategorydiv').load("suburb.action#resultdiv",{category:catValue});
        }); 

    $('#subcategorydiv').load(
            "suburb.action#resultdiv",
            {category:"Fruits"});
    });
</script>
<s:label value="Test Field2"></s:label>
<s:textfield name="field2"></s:textfield>
<br/>
<s:label value="Test Field3"></s:label>
<s:textfield name="field3"></s:textfield>
<br/>
<s:submit id="sub1"></s:submit>
</s:form>
</body>
</html>

郊区汽车.jsp(通过郊区行动加载到子类别div中)

....................................................
<%@taglib uri="/struts-tags" prefix="s"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<!DOCTYPE html>
<html>
<head>
......................
<title>Welcome</title>

</head>
<body>
<div id="resultdiv">
<s:url id="fruitsurlid" var="fruitsurl"  namespace="/autocompleter" action="getfruits">
    <s:param name="category" value="%{category}"></s:param>
</s:url>
<s:label value="SubCategory"></s:label>
<sj:autocompleter id="autocompleterId" name="autocompleter1" href="%{fruitsurl}"></sj:autocompleter>

</div>
</body>
</html>

成功.jsp

.......................
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Success</title>
</head>
<body>
Subcategory: <s:property value="autocompleter1"/>
</body>
</html>
4

0 回答 0