比如在action中用request返回前台a.jsp时,我用:request.setAttribute("back", "<script>alert('abc');</script>");
在a.jsp的body中,我用:${back}来取值,当返回a.jsp时,会出现个提示框,提示信息当然为:abc,这个是对的,没问题的.现我在a.jsp中,定义了js函数:function myalert(info){alert(info);}
同理,我用:request.setAttribute("myback", "<script>myalert('abc');</script>");返回a.jsp时,用${myback}来取,
大家猜猜会出现什么?我想从表面上看,很多人可能都认为也应该是提示信息为:abc,不过,很遗憾的是:错了!
问题出来了,为何前者可以后者不行呢?如何让后者也行呢?
在a.jsp的body中,我用:${back}来取值,当返回a.jsp时,会出现个提示框,提示信息当然为:abc,这个是对的,没问题的.现我在a.jsp中,定义了js函数:function myalert(info){alert(info);}
同理,我用:request.setAttribute("myback", "<script>myalert('abc');</script>");返回a.jsp时,用${myback}来取,
大家猜猜会出现什么?我想从表面上看,很多人可能都认为也应该是提示信息为:abc,不过,很遗憾的是:错了!
问题出来了,为何前者可以后者不行呢?如何让后者也行呢?
解决方案 »
- 程序:鼠标每点一下,出现一个点,但是只有第一下出现一个点
- 有关网银接口支付的实现
- 关于Webwork时间验证<field-validator type="date">
- 求教DOM解析XML的知识!!????急
- Axis 是否可以把stateful ejb转化为web service并保持stateful ejb的有状态性?
- Spring3.x企业应用开发实战,关于SpringMVC的疑问?
- struts的文本框
- 新手求教!!谁能给我个struts登陆的例子
- JDO和EJB比,谁的性能更强?
- 求帮!!!springboot项目 类里有单独的main方法需要调用service和dao层
- web-info/lib下的jsp-api.jar与tomcat的lib下的jsp-api.jar 冲突
- Spring hibernate 配置两个连接池 遇到 CheckObject is not mapped [from CheckObject a order by a.checkobjectId]
一般是这样写的: <script>
function myalert(info)
{
alert(info);
}
</script>
这个脚本应该写在最前面( 即<head></head>里面)
比如我在acrion中这样写的:request.setAttribute("msg","<script>myalert('请您输入您要显示的文字')</script>");那么在页面上这样调用
${msg}${msg}我建议写在页面最后但是一定要写在<body></body>之内,这是页面顺序加载的问题哦
是先执行的,也就是说执行myalert这个函数,但是此时myalert这个函数还没有定义,
问题解决:
只需 把request传过来的myback的值里的js代码写成不是加载页面就弹出,而是经过某一个控件
触发弹出就可以了。
比如request.setAttribute("myback", " <script>function myalert('abc'){alert('abc');}</script>")然后在页面触发。
你直接用的话,就不存在触发的问题,调用就是触发。
而已你自定义函数myalert 是要触发的。而你
获取这个字符串在页面上被执行的时候<script>myalert('abc'); </script>
这样不会触发myalert方法的,必须事件来触发。
就好比在你 jsp 页面上嵌套了扎样两段代码:
1.
<script>
alert("abc");
</script>
2.<script>
function myalert(){
alert("abc");
}
</script>在你进入这个页面的时候编译jsp,编译到这个两处的时候,1处就这会弹出提示。
而2是不会弹出提示的,只有在你页面某一个控件的事件去触发时才会弹出提示的。
比如 onclick="myalert()" 等。