У нас есть работающее приложение, разработанное в struts-2.0.14
.В этом мы использовали Ajax-тему для отображения содержимого.
Эта ajax-тема работает правильно во всех браузерах, кроме браузеров IE9. В IE9 это проблема создания ajax-темы.Результат отображается в новой вкладке, а не в целевом элементе (div), заданном свойством targets
.
Родительская страница
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<s:head theme="ajax" debug="false" />
</head>
<body>
<s:url id="changePwd" action="changePassword" />
<s:div theme="ajax" id="pwdDiv" executeScripts="true" href="%{changePwd}" loadingText="Loading..."/>
</body>
</html>
Внутреннийстраница
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<s:form action="changePassword" id="resetPassword" name="resetPassword">
<s:textfield name="username" id="username" />
<s:password showPassword="true" name="newpassword" id="newpassword" value="%{newpassword}"/>
<s:password showPassword="true" name="confirmpassword" id="confirmpassword" value="%{confirmpassword}"/>
<s:submit value="Confirm" showLoadingText="false" onclick="clearMsg();" theme="ajax" targets="pwdDiv" executeScripts="true" cssClass="userbutton" />
</s:form>
При отправке формы на внутренней странице полученная страница всплывающая на новой вкладке.на самом деле он должен заменить содержимое pwdDiv
.Примечание: то же самое работает должным образом в других браузерах, включая (IE7,8)
Обновление: делает showLoadingText как true, делая запрос как Ajax, но значения передаются как нулевые (пароль, подтвердите пароль)и т. д. - все поля)