我做了2个动作,动作1旨在更新一些信息,动作2是检索它。通常,我使用action2来搜索并显示一个JSP。现在看到JSP之后还有更多的东西,首先进入action1来修改某些东西,然后到action2去检索,最后跳到Jsp来显示信息。我使用Struts2来实现它。但实际上信息没有改变,我需要刷新网页才能正常显示。起初我想这是导致这种情况的缓存。所以我在JSP中添加了一些标签以避免这种情况,并使用?time = $ {time}重写url,但仍然徒劳无功。我的代码如下。使用Struts2无法从动作跳转到Jsp
MessageAction.java:
public String getMessage() throws Exception{
Map<String, Object> session = ActionContext.getContext().getSession();
Account account = (Account)(session.get("account"));
List<Message> messages = messageBo.getMessageByAccount(account);
session.remove("messages");
session.put("messages", messages);
time = Long.toHexString(new Date().getTime());
System.out.println(time);
return SUCCESS;
}
@Action(value="modifyMessage",
results={
@Result(name="success",location="/getMessage.action",type="redirectAction")})
public String modifyMessage() throws Exception{
HttpServletRequest request = ServletActionContext.getRequest();
String field = request.getParameter("field");
String value = request.getParameter("value");
Integer id = Integer.parseInt(request.getParameter("id"));
messageBo.updateMessageByField(id, field, value);
return SUCCESS;
}
的struts.xml:
<action name="getMessage" class="com.ailonger.action.MessageAction" method="getMessage">
<result type="redirect">/room/my_message.jsp?time=${time}</result>
</action>
如何进入1动作后直接跳转至JSP?
为什么混合注释和struts.xml中的动作?什么是'messageBo.updateMessageByField(id,field,value);'在做什么?发布你的jsp。 –