3

struts2 テクノロジを使用して、JSP ファイルで部分文字列を作成する方法はありますか? つまり、struts2 には独自の taglib があり、ognl も使用しています。スタック値または Bean 値から部分文字列を取得するにはどうすればよいですか?

4

5 に答える 5

3

http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/index.html

fn:substring とそのバリアントを探します。

Struts 1 を使用しましたが、2 は使用しませんでした。

于 2008-09-15T17:33:39.450 に答える
1

しないでください。

JSP でデータ (部分文字列) を解析する必要がある場合、ビジネス ロジック (動作方法) とプレゼンテーション ロジック (表示方法) を混在させている可能性があります。これらは分離する必要があります。JSP で多くの条件、計算、解析などを行っている場合は、(将来の) 多くの苦痛を自分自身にもたらしています。

代わりに、これらの問題を分離してください。JSP を非常にシンプルにし、データをそのまま表示するか、まったく表示しない以外にロジックをなくし、必要に応じて単純なループを作成します。すべての重要なロジックを Java クラスに入れ、データを JSP にプッシュします。これにより、Java の全機能を利用できるようになります。できる限り、JSP を Java ベースのアプリケーションの単なる「スキン」にします。

詳細については、Terence Parr のホワイト ペーパー ( http://www.cs.usfca.edu/~parrt/papers/mvc.templates.pdf ) を参照してください。多くの心痛とメンテナンスを節約してください。

于 2008-11-07T18:47:46.407 に答える
1
fn:substring(YOUR_FIELD, START_INDEX, END_INDEX)

たとえば、文字列の最初の 3 文字を取得する場合は、次のようにします。

${fn:substring('scrooge', -1, 3)}

使用できる XML 名前空間は次のとおりです。<% include%> ステートメントと同じアドレスである必要があります。

xmlns:fn="http://java.sun.com/jsp/jstl/functions"
于 2011-07-27T17:11:55.393 に答える
1

Struts2 はOGNLを使用します。つまり、S2 タグでオブジェクト メソッドを直接呼び出すことができます。

そのようです:

<s:property value="str.substring(0, 5)"/>
于 2012-09-28T20:21:17.943 に答える
0

Watch out for the functions library in certain situations, especially when using Websphere to deploy! The company I work for deploys to Websphere 6.0 version 11, which does not support the functions library properly (it does not function properly when placed inside a tag body). I remember somewhere that they fixed it in version 13. You can always create your own JSP Tag to do anything, though, so you can do that to get around the problem.

于 2008-09-16T02:45:07.427 に答える