struts2的action怎么返回一个弹出窗口
struts2的action如何返回一个弹出窗口?package nameuserlogin namespace/ extendsstruts-default
struts2的action如何返回一个弹出窗口?
<package name="userlogin" namespace="/" extends="struts-default">
<action name="login" class="com.rain.action.LoginAction"
method="login">
<result name="success">/admin.jsp</result>
<result name="false">/error.jsp</result>
</action>
</package>
上面是我的struts.xml的代码,里面当用户登录出错的时候,我返回的是一个error.jsp页面,如何做就在当前的界面弹出一个窗口,并且点击确定之后仍然停留在登录界面,将用户密码框里面的值清空。
[解决办法]
是弹出alter吗?
如果是直接用js,if(message == 'error') alert('登录失败')
[解决办法]
ajax 你还没学吧 后面学习了再搞这样的功能。现在是不可能的!
要是学习过ajax 根据返回结果判断是否错误。同时alert 或者弹出div也可以。清空嘛就简单的js清空就行。
[解决办法]
可以做到
前端用struts标签
action:
//别忘了setter getter
private String message;
public String login() {
if(1==2){
//登录失败
message = "登录失败";
return error;
}
return success;
}
jsp页面最上面:
<script>
<s:if test="message != null"}">
alert(<s:property value="message " /> )
</s:if>
</script>
.........jsp页面其他元素
[解决办法]
这样可以做到么? jsp页面你如何提交? from表单?还是? 你能让它后台验证了 还不跳转,还留在本页面? 明显lz 说的意思是无刷的 验证,不然何来清空一说,刷新了 控件直接就空了!
[解决办法] 把<result name="false">/error.jsp</result>去掉。
不管正确还是错误都返回到success.jsp
当发现错误时,加一段消息到
request.setAttribute("message", "登录错误");
然后在success页面。用js判断request里面message对象是否为空,如果不为空,就弹出来
var msg = "${message}";
if(msg != null){
alert(msg);
}
[解决办法]<package name="userlogin" namespace="/" extends="struts-default">
<action name="login" class="com.rain.action.LoginAction"
method="login">
<result name="success">/admin.jsp</result>
<result name="false">/error.jsp</result>
</action>
</package>
楼主配置的struts2 文件 明显没用到ajax (extends="struts-default") 、resultType
提交用表单
错误 跳转到login.jsp 错误时 message变量中 有值 作为前端alter弹出标识
至于成功 该去那就去那
[解决办法]
是的 我这样用过