首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条纹编码的工作方式很奇怪

条纹编码的工作方式很奇怪
EN

Stack Overflow用户
提问于 2015-02-25 00:13:03
回答 3查看 754关注 0票数 1

我将stripes:param中的一些变量发送给另一个actionbean,以便在另一个jsp文件中显示它们。问题是,如果变量包含非英语字符,如(ä,ö,...)条纹:param将它们编码成某种有线格式。我在我的jsp中使用了ecoding标签,但不起作用。既然stripes:param在stripes:link中,它会不会是stripes:link中的某种东西呢?例如,如果第一个jsp中的'fname‘有一个类似于'ö’的字符,那么当它在第二个jsp中显示时,stripes会将其转换为其他一些字符!知道这里发生了什么吗?

第一个jsp

代码语言:javascript
复制
<stripes:link beanclass="se.theducation.course.ui.action.student.StudentEditExcelAction" event="loadStudent" >
    <stripes:param name="fname" value="${array.getStudent().getFirstName() }" />
    <stripes:param name="lname" value="${array.getStudent().getLastName() }" />
    edit
</stripes:link>

StudentEditExcelAction.java

代码语言:javascript
复制
@UrlBinding("/Student/editExcel.action")
public class StudentEditExcelAction implements ActionBean {

private String fname;
private String lname;

@DefaultHandler
@DontValidate
public Resolution edit() {
    return forward("editExcel");
}

@DontValidate
public Resolution loadStudent() {
    System.out.println("utbildare: " + school); //TODO delete this later
    return forward("editExcel");
}

第二个jsp

代码语言:javascript
复制
<table class="solid" style="margin-top: 5px; padding: 5px; width:900px">
    <tr class="solid">
        <td class="solid">
            <tags:labeled label="Firstname:"><br />
            <stripes:text name="fname"/>
            </tags:labeled>
        </td>
        <td class="solid">
            <tags:labeled label="Lastname:"><br />
            <stripes:text name="lname"/>
            </tags:labeled>
        </td>
    </tr>
</table>
EN

回答 3

Stack Overflow用户

发布于 2015-02-27 20:40:50

似乎问题出在编码上,所以我在web.xml中添加了以下servlet筛选器,它可以正常工作!

代码语言:javascript
复制
<filter>
    <filter-name>CharacterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>CharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
票数 3
EN

Stack Overflow用户

发布于 2015-08-17 11:39:45

对我来说,工作示例如下:

https://github.com/pojosontheweb/woko/blob/develop/core/src/main/java/woko/util/SetCharacterEncodingFilter.java

将该类复制到项目中,然后将其包含在web.xml中

代码语言:javascript
复制
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>project.name.SiteFilter</filter-class>
<init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
</init-param>
</filter>   
<filter-mapping>
  <filter-name>CharacterEncodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
票数 0
EN

Stack Overflow用户

发布于 2018-04-20 15:55:43

对我来说,解决方案是添加

代码语言:javascript
复制
<init-param>
    <param-name>LocalePicker.Locales</param-name>
    <param-value>fr_FR:UTF-8</param-value>
</init-param>

在web.xml的filter StripesFilter配置中,定义如下:https://stripesframework.atlassian.net/wiki/spaces/STRIPES/pages/492001/Localization

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28700770

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档