文字列の切り取り方法の概要


文字列の切り取り
ここでjspページに文字表示を切り取る.プロジェクト用struts 2ラベル
繰り返しのテストを経て、struts 2はラベルのネストをサポートしていません.
個別サポート:
<s:property value='#attr.todo.description.indexOf('2')'/>
<s:property value='#attr.todo.description.length()'/>	

しかし、このような書き方はサポートされていません.
<s:property value="#attr.todo.description.substring(<s:property value='#attr.todo.description'/>, 
 <s:property value='#attr.todo.description.indexOf('2')'/>,
 <s:property value='#attr.todo.description.length()'/>)">
</s:property>

その<:textfield>ラベルフォーマット表示日付は、以下のように表記されています.
<s:textfield label=" " name="todo.created" readonly="true">
      <s:param name="value">
	<s:date name="#attr.todo.created" format="yyyy-MM-dd HH:mm:ss"/>
      </s:param>
</s:textfield>

さて、ローマに通じる道は、EL式に変えてみるしかないのですが、结果は试してみるとすぐに通じるので、EL関数はすごいですね!!!
${fn:substring(todo.description,fn:indexOf(todo.description,2),fn:length(todo.description))}

でも注意したのは
:単独で「$」を必要とし、ネストしてネストする部分を「$」を必要とせず、逆に問題があると書きました.
切り取り方法のまとめ:
public class StringSub {
    public static void main(String[] argu)
     {
    String str="abcdefghmf";      
    System.out.println(" :"+str.substring(0, 3)); 
    System.out.println(" :="+str.substring(3));  
    System.out.println(" :"+str.substring(str.length()-3,str.length()));  
    System.out.println(" :"+str.substring(str.length()-3,str.length())); 
   System.out.println(" 'f' :"+str.substring(0,str.indexOf("f")));  
   System.out.println(" 'f' ( 'f') :"+str.substring(str.indexOf("f"),str.length()));  
   System.out.println(" 'f' 'h' ( 'f') :"+str.substring(str.indexOf("f"),str.indexOf("h")));  
   System.out.println(" 'f' :"+str.indexOf("f"));  
    }
}