日期:2014-05-20  浏览次数:20777 次

struts2返回的result页面在div里面显示了咋办
我的表单是写在一个index.jsp 的一个div里面 struts2的result设为index.jsp时 不是让浏览器继续显示index.jsp 而是在我的那个div里面显示了index.jsp 咋办啊?
index.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <title>WebOa办公自动化系统</title>
<link rel="stylesheet" type="text/css" href="css/mycss.css">
<script type="text/javascript" src="js/jquery-1.7.1.js"></script>
<script type="text/javascript" src="js/index_deal.js"></script>
<script type="text/javascript">
//刷新页面 刷新页面后清空表单数据
function fresh()
{
document.getElementById("password_id").value="";
document.getElementById("verify_id").value="";
}
//点击后刷新验证码
function changeValidateCode(obj) {  
  //获取当前的时间作为参数,无具体意义  
  var timenow = new Date().getTime();  
  //每次请求需要一个不同的参数,否则可能会返回同样的验证码  
  //这和浏览器的缓存机制有关系,也可以把页面设置为不缓存,这样就不用这个参数了。  
  obj.src="verifycode?d="+timenow;  
  }  
</script>
  </style>
  </head>
  
  <body onUnload="fresh()">
  <table width="80%" border="0" align="center">
  <tr>
  <td>&nbsp;</td>
  </tr>
  <tr>
  <td align="right" valign="bottom" class="tdclass">
  <div id="apDiv1">
  用户名:<input type="text" name="username" id="username_id" class="input_class"/><div id="username_message"></div>
  <br/>
  密<font face="宋体">&nbsp;&nbsp;</font>码:<input type="password" name="password" id="password_id" class="input_class"/><div id="password_message"></div>
  <br/>
  验证码:<input name="verify" id="verify_id" class="input_class" type="text" size="4" maxlength="4" /><img src="verifycode" onclick="changeValidateCode(this)"></img><div id="verify_message"></div>
  <br/>
  <input type="button" id="submit_id" value="登录"/>
  <input type="reset" id="reset_id" value="重置"/>
  </div></td>
  </tr>
  </table>
  </body>
</html>


------解决方案--------------------
我知道你的意思 ,就像使用AJAx提交一样,返回的是一个jsp,但是这个jsp只是返回了你要的信息,可以使用struts2 的标签, 例如:

<%@page contentType="text/html; charset=UTF-8"%>
<%@taglib uri="/WEB-INF/struts-tags.tld" prefix="s"%>
<%
request.setAttribute("decorator", "none");
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%>
<s:property value="ajaxMessagesJson" escape="false"/>


上面就是一个jsp 但是是显示在另一个jsp的div里面。ajaxMessagesJson 就是action中的返回的一条信息。