struts2标签如何赋值到javascript代码中比如后台action中...
addActionMessage("消息"); 
   return SUCCESS;
前台jsp中
<script language="JavaScript">
alert('<s:actionmessage />');
</script> 
显示的是字符串 "<s:actionmessage />" 而不是我想要的 “消息”
有一种方法是在action中将字符串put到session中自己的指定key中,但我不能使用那种方法,我只能用struts的标签。请指教,谢谢!

解决方案 »

  1.   

    可以的 在action中把错误信息error压入session或request中然后在js中这样取值 alert("${error}");
      

  2.   

    你界面的代码是没有任何问题的.! 可能是你没导入标签库的原因吧.! <s:actionmessage />是服务器端就执行的, 你的结果就是服务器端没给你执行.!  再怎么样也不会给你原样打出来的.!
      

  3.   

    如果我把<s:actionmessage />放到 <body>里就能正确显示,所以服务器端应该执行了
      

  4.   

    可以是用表达式呀 <%=你想要输入的值%>
      

  5.   

    自定义标签放置的地方是不受限制的, 那要照你这么说我每次发ajax请求都不能用<s:url>进行url重写咯?
    但是我每次用得一点问题都没.! 
    原样输出肯定是服务器没解析
      

  6.   

    <script>
       var message = <s:actionmessage />;
       alert(message);
    </script>
      

  7.   

    我知道在Action中定义一个成员变量message,当然要有set和get方法,然后将你的actionmessage赋给那个成员变量message。
    在struts2里面可以用
    <script type='text/javascript' language='javascript'>
       alert('<s:property value="message"/>');
    </script>
    这样可以取出来。
      

  8.   

    有人告诉我
    <input name="xx" type="hidden" value="<s:actionmessage />" /> 但我还是无法将<s:actionmessage />赋值给value
      

  9.   

    LZ,<s:actionMssage />是打印出当前所有的actionMessage, 并且是以ul的形式给出来的.!
    这样你当然无法alert/赋值给文本框或隐藏域这次我告诉你一种好的解决方案:
    <s:property value="actionMessages[0]" />
    这样是输出第一条,  如果你有多条信息也可以换,  如果不加下标,输出的就是个数组.! [message1,message2.....] 
    也就是说 , 你alert("<s:property value="actionMessages[0]" />");
    是完全没有问题的!
      

  10.   

    有那么复杂吗?
    strust标签的输出后本质上HTML,给其赋一个id值,等文档加载完以后,随便你怎么操作。<s:actionmessage id="msgTip"/>