struts.xml部分代码 <action name="terrace_*" class="terraceAction" method="{1}"> <result name="success" type="redirect">terrace_query.action?groupId=${groupId}&amp;currentPage=${currentPage}&amp;keyword=${keyword}</result> <result name="list">jsp/TerraceList.jsp</result> <result name="add">jsp/TerraceAdd.jsp</result> <result name="update">jsp/TerraceEdit.jsp</result>
<result name="detail">jsp/TerraceDetail.jsp</result>
<interceptor-ref name="mystack" /> </action>其中keyword是查询关键字,当它是中文的时候就会出现乱码,试了老多方法都不行,求高手指点。补充说明:过滤器,页面及mysql数据库用的都是gbk编码,tomcat配置文件server.xml中设置了 URIEncoding="gbk" 

解决方案 »

  1.   

    当然不行了,先编码然后传递,传递过去解码 URL里有编码解码的静态类
      

  2.   

    想起他方法把,在页面定义一些参数,在action中得到。。
      

  3.   

    检查直接在当前action中做好了,返回success之前。
      

  4.   

    数据库连接字符串是否设置编码,建表语句是否设置,
    还有就是你的提交是否是post提交
      

  5.   

    在你的tomcat/conf/server.xml 中 大概90 来行的位置 加上URIEncoding="gb2312" 试试    -->    <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
        <Connector port="8686"
                   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups="false" redirectPort="8443" acceptCount="100"
                   debug="0" connectionTimeout="20000" 
                   disableUploadTimeout="true" URIEncoding="gb2312"/>
        <!-- Note : To disable connection timeouts, set connectionTimeout value
         to 0 -->
      

  6.   

    这个不好意思啊。 给你找了篇文章你看下  http://www.blogjava.net/nighty/archive/2011/01/14/342991.html
      

  7.   

    问题已经解决,改用redirect-action,增加param参数: <action name="storage_*" class="storageAction" method="{1}"> <result name="success" type="redirect-action">
    <param name="actionName">storage_query.action</param>
    <param name="groupId">${groupId}</param>
    <param name="currentPage">${currentPage}</param>
    <param name="keyword">${keyword}</param>
    </result>
    <result name="list">jsp/StorageList.jsp</result> <result name="add">jsp/StorageAdd.jsp</result> <result name="update">jsp/StorageEdit.jsp</result>
    <result name="detail">jsp/StorageDetail.jsp</result>
    <interceptor-ref name="mystack" /> </action>
    结账
      

  8.   

    楼主最后贴出来的配置应该有点问题吧?
    我用楼主最后贴出来的执行会报错。后来在网上找了些资料,才修改过后才正确。应该如下 
    <result name="addLifecycleStatusToTemplateSuccess" type="redirect-action" >
        <param name="actionName">/lifecycleTemplateStatusAction</param>     
        <param name="method">listLifecycleTemplateStatuByTemplateId</param> 
        <param name="lifecycleTemplateId">${lifecycleTemplateId}</param>
        <param name="lifecycleTemplateName">${lifecycleTemplateName}</param>
    </result>
      

  9.   


    没有问题啊,运行正常,你报错肯定是调用action有问题吧