2016-12-29 4 views
-1

私はJSTLメソッドを使用して文字列を分割し、それを4つの引用符''''に基づいて分割しようとしています。以下は、詳細は以下のとおりです。上記のためのJSTL分割メソッドが正しく機能していませんか?

example = ''''THE FAMOUS DIAMONDS''''This is second string for the example''''/content/dam/rcq/mp_push_tank_style.jpg''''right'''' 
${fn:split(example,\"''''\")} 
example[0]=THE FAMOUS DIAMONDS 
example[1]=This is second string for the example 
example[2]=/content/dam/abc/tank.jpg 
example[3]=right 

は、それが正常に動作していますが、その'(single quote)は私の文字列であり、それは機能のgetブレークだ時はいつでも問題がある文字列を述べました。以下は例です

example = ''''THE FAMOUS DIAMONDS''''This is string's contains single quote''''/content/dam/rcq/mp_push_tank_style.jpg''''right'''' 
${fn:split(example,\"''''\")} 
example[0]=THE FAMOUS DIAMONDS 
example[1]=This is string 
example[2]=s contains single quote 
example[3]=/content/dam/abc/tank.jpg 

ここで、例[2]のようにimagepathではなくtextが含まれています。

私はスプリットタイプ''''を変更することはできませんので、誰でも助けてください。事前

答えて

0

おかげで、ここで分割が完璧に動作します、あなたがscriptletを使用することができるのではなく、apostropheを使用するためのjstl-function fn:split()に問題があります。ここで私はあなたのために行っている:

<c:set var="string1" value="''''THE FAMOUS DIAMONDS''''This is string's contains single quote''''/content/dam/rcq/mp_push_tank_style.jpg''''right''''"/> 
<% 
    String s=(String)pageContext.getAttribute("string1"); 
    String[] string = s.split("''''"); 
    pageContext.setAttribute("string",string); 
%> 
<c:set var="string2" value="${string}"/> 
<p>String(0) : ${string2[0]}</p> 
<p>String(1) : ${string2[1]}</p> 
<p>String(2) : ${string2[2]}</p> 
<p>String(3) : ${string2[3]}</p> 
<p>String(4) : ${string2[4]}</p> 

出力:

String(0) : 
String(1) : THE FAMOUS DIAMONDS 
String(2) : This is string's contains single quote 
String(3) : /content/dam/rcq/mp_push_tank_style.jpg 
String(4) : right 
関連する問題