2015-02-24 3 views
0

Я отправляю некоторые переменные из полосы: param в другую actionbean, чтобы показать их в другом файле jsp. Проблема в том, что если переменная имеет неанглийские символы, такие как (ä, ö, ...) stripes: param кодирует их в некоторый проводной формат. Я использовал теги ecoding в моем jsp, но не работает. Поскольку полосы: парам внутри полосок: ссылка, может это быть что-то с полосками: ссылка? Например, если «fname» в первом jsp имеет такой символ, как полосы «ö», он преобразует его в некоторые другие символы, когда он показывает его во втором jsp! Любая идея, что здесь происходит?Закодированные работы Stripes

первый JSP

<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

@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

<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> 

ответ

3

Похоже проблема была о кодировке, поэтому я добавил следующий сервлет фильтр для моей сети. xml, и он работает!

<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> 
+0

работает как шарм –

0

Для меня работа пример заключается в следующем:

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

Скопируйте этот класс в ваш проект, а затем включить его в web.xml

<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> 
Смежные вопросы