3

私は struts に不慣れで、以前の html タグよりも struts タグを参照する理由を知りたいのですが、両方とも同じことをしているように見えます。お気に入り

<s:form action="myAction">
    <s:textfield name="username"></s:textfield>
    <s:textfield name="password"></s:textfield>
    <s:submit name="submit" value="submit"></s:submit>
</s:form>

<form action="myAction" method="post">
    <input type="text" name="username"/>
    <input type="text" name="password"/>
    <input type="submit" name="submit"/>
</form>

私はそれをグーグルで検索しましたが、満足のいく答えが得られませんでした。事前に助けていただければ幸いです

ラベルなどの余分なものが追加されることはわかっていますが、それは私にとっては問題ありませんが、パフォーマンスや要求オブジェクトに特に何かを行うかどうか、プログラマーの余分な入力を回避するだけかどうかを知りたいです。

4

3 に答える 3

3

Struts 2 タグにはさまざまな種類があります。

特にフォームタグは有益ですが、その機能は使用されている Struts 2 テーマに完全に依存します。この"simple"テーマには、標準の HTML タグ以外の利点はほとんどありません。デフォルトの"xhtml"テーマは、フォーム テーブルの行といくつかのスタイルを発行します。カスタム テーマは、必要な機能を実装します。テーマに関係なく、基礎となる JSP ソースを変更する必要はありません。

主な利点は次のとおりです。

  • 検証エラー メッセージ
  • フォームのプレゼンテーション/スタイリング
  • フレームワークの統合 (例: アクションから自動的に入力される値)

カスタムタグでかなりの量の JavaScript 機能をラップする Dojo (非常に非推奨) および jQuery タグのセットもあります。これにより、単純な動的機能が非常に単純になります。

などのビュー以外のタグもあります<s:iterator>。それらの機能の一部は JSTL の複製です ( <c:forEach>iterator タグの場合)。この場合、機能が重複している場合、S2 タグを使用する利点はそれほど多くありません。

<s:merge>やのように、一部のタグには JSTL 類似物がありません<s:sort>。、それがビューレイヤーに適した機能であるかどうかは別の議論です。I18N など、Struts 2 の他の側面への統合を提供するものもあります (例: <s:text>)。Struts 2 の構成について理解している人もいます (例: <s:url>)。

カスタム タグの目的はビュー レイヤ プログラミング (JSP など) を簡素化することです。S2 は、それを支援するために多くのタグを提供します。UI タグは FreeMarker を使用して実装され、大幅にカスタマイズ可能ですが、単純で一般的なもの (非 UI タグ) もあります。

于 2012-12-17T03:34:31.373 に答える
2

この特定の例では多くはありませんが、解析時に HTML に置き換えられ、置き換えられるものはカスタマイズ可能であるという利点があります。標準のフォーム テンプレートを定義して、それに<s:form>置き換えることができます。

言い換えれば、(理論的には) サイトの動作を標準化し、タイピングを最小限に抑えることです。

更新: Steven は、さらに重要な理由を指摘しました。それは、Struts がインテリジェントに<s:form>フィールドに入力して更新できることです。たとえば、送信エラーの後にフォームに入力したままにしておくなどです。

于 2012-12-16T21:18:49.240 に答える
0

Struts は純粋に Java を使用しています。したがって、プログラマーが HTML/JAVASCRIPT についての知識を持っていなくても、struts の組み込みタグを使用して自分のやり方で作業を進めることができます。Struts には、Javascript と同様に組み込みの検証機能も用意されています。

于 2014-01-30T04:58:27.367 に答える