页面:
<div align="center" onmouseover="this.style.cursor='hand';" onmouseout="this.style.cursor='normal';" 
      onClick="window.open('<s:url action="spColorManageUIviewUI" namespace="/item"/>?code=${entry.code}')" title="<s:text name="div.title"/>">${entry.code}</div>
要传的值:code=${entry.code}。
对于一般的字母数字没有问题,都可以传值,但是如果code=${entry.code}得值是这样:code=#abc,code=abc#,code=A#bc,像这样的值就不行了,传到action会被过滤掉。我想是#的问题。
请高人指点。

解决方案 »

  1.   

    这个问题我还没遇到过,在code的地方也用s标签试试。有了解决方法通知我,嘿嘿
      

  2.   

    那就通过转码简单的把这个参数处理掉,然后接收的时候在转回来。
    比如用base64编码先将参数编码,然后再接受端在用base64解码。
      

  3.   

    问题已解决:code=${fn:replace(entry.code,'#', '%23')}
    这样就OK了。
    jstl fn:replace替换换行符
      

  4.   

    说实话,没有用过那个标签,当然有很多的东西没有用过,不过我想应该还有其他的方式解决吧,要不把参数放到里面?用param标签试试?或者直接带在后面,用JS来处理。
      

  5.   

    通过DECODE/ENDECODE进行编码和解码试试。