接题,我纯粹只是window.location.href带一个参数跳到另一个页面,但是从日志显示我执行了两次这个跳转的方法,并且还带了前一个页面的请求的数据过去。
比如:首先我请求index.action,这个请求会自动加载页面信息,现在有一个button,我要点击这个button跳到message.jsp页面,请求为message.action?drct=?。但是当我跳到message.jsp页面的时候却带了index.action加载的信息。求各位同仁的智慧,给个思路或者建议。
比如:首先我请求index.action,这个请求会自动加载页面信息,现在有一个button,我要点击这个button跳到message.jsp页面,请求为message.action?drct=?。但是当我跳到message.jsp页面的时候却带了index.action加载的信息。求各位同仁的智慧,给个思路或者建议。
你是用action跳的还是JavaScript跳的其实这两种不管用哪种方式,都能带参数过去,通过URL重写
function forward(type){
var ID=$("#Id").val();
window.location.href='../project/forwardPage.do?ID='+ID+'&type='+type;
}请求发送后,struts找到请求的方法<action name="forwardPage" class="cn.easier.rcs.onebox.action.MessageAction" method="message">
<result>/WEB-INF/page/onebox/message.jsp</result>
</action>java里面的方法public String message() throws Exception {
log.info("跳转到message.jsp");
return SUCCESS;
}跳到message.jsp后日志显示调用了两次这个方法.
我解决的方案是:把那个执行多次的方法返回null,因为我要从后台输入一个json到前台去,就是这个方法它老是多次执行。开始本来想通过继承json-default,在result中返回一个json类型。后面发现总是不理想,因为也没学多久,所以就没用这个了。直接用流的形式输入到前台,
PrintWriter out = response.getWriter();
out.println(message);
return null;
这样虽然不会报错,但是把数据一骨碌的全部发送到前台,对客户端的压力是不是大了点?