struts2中由action跳转到action时如何弹出验证对话框
主要功能是:
action类部分代码:
//审核用户信息
public String checkUserInfo()throws Exception
{
HttpServletRequest request1 = ServletActionContext.getRequest();
userDao=new UserDAOImp();
String username=userDao.checkUser();
if(username==null)
{
request1.setAttribute("mess",
"<script language='javascript'>alert('没有用户注册信息')</script>");
return "fail";
}else{
UserTable user=userDao.getUser(username);
Map request=(Map)ActionContext.getContext().get("request");
request.put("user", user);
return "succ";
}
}
struts.xml
<action name="checkUserInfo" class="com.sqlt.action.ManageUserAction" method="checkUserInfo">
<result name="succ">/manage/manageUser/checkUserInfo.jsp</result>
<result name="fail" type="redirect-action">seeUserInfo</result>
</action>
我想在返回fail时,能在页面上弹出“没有用户注册信息”对话框。我之前在struts.xml中写的是<result name="fail">seeUserInfo.jsp</result>
可以弹出对话框。但是由于要更新数据,所以需要转到action。但是对话框就弹不出来了。请问大侠们该怎么做。
把你的if和script片段都写到页面上去,变量在action赋值,弹窗js是否添加在页面里判断
你在渣则李seeUserInfo.jsp页面body 里getsAttribute("mess")就可以了。if(username==null)
这句话应该盯兄改为equals方如迟法
redirectAction是从一个action重定向到另一碰厅老个action,所以保存在request作用域中的数据重定向后访问不到,所笑升以修改后
checkUserInfo()中:
if(username==null){
request1.getSession().setAttribute("mess","<script language='javascript'>alert('没有用户注册信息')</script>");
return "fail";
}
struts.xml中
<result name="fail" type="redirectAction">seeUserInfo</result>
在页面输出时<s:property value="#session.mess" escape="false"/>
您修改一下伏喊您的代码,如果还不行,那就换另一种方法。