問題タブ [tapestry]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Tapestry 4.1.2 の国際化されたページ プロパティ
私の Tapestry アプリケーションのログイン ページには、ユーザーが入力したパスワードが格納されるプロパティがあり、データベースの値と比較されます。ユーザーが次のようなマルチバイト文字を含むパスワードを入力した場合:
... getPassword() (対応するプロパティの抽象メソッド) の戻り値を調べると、次のようになります。
明らかに、それは適切にエンコードされていません。それでも Firebug は、ページが UTF-8 で提供されると報告しているため、おそらくフォーム送信要求も UTF-8 でエンコードされるでしょう。データベースからの値を検査すると、正しい文字列が生成されるため、OS または IDE エンコーディングの問題ではないようです。.application ファイルの org.apache.tapestry.output-encoding の Tapestry のデフォルト値をオーバーライドしていません。また、Tapestry 4 のドキュメントには、プロパティのデフォルト値が UTF-8 であることが示されています。
では、Tapestry がプロパティを設定するときにエンコーディングを失敗しているように見えるのはなぜでしょうか?
関連するコードは次のとおりです。
ログイン.html
ログインページ
ログイン.java
アップデート
@Jan Soltis:データベースから取得した値を調べると、正しい文字列が表示されるので、エディター、OS、およびデータベースがすべて値を正しくエンコードしているように見えます。.application ファイルも確認しました。org.apache.tapestry.output-encoding エントリが含まれておらず、Tapestry 4 のドキュメントには、このプロパティのデフォルト値が UTF-8 であることが示されています。あなたの質問への回答を反映するために、上記の説明を更新しました。
@myself: 解決策が見つかりました。
java - アプリケーション内の 1 つのタペストリー 4 ページに ISO-8859-1 エンコーディングを設定するが、そうでなければ完全に UTF-8 である
ページを UTF-8 として提供する Tapestry アプリケーションがあります。つまり、サーバーの応答には次のヘッダーがあります。
このアプリケーション内には、ISO-8859-1 エンコーディングで提供する必要がある単一のページがあります。つまり、サーバーの応答には次のヘッダーが必要です。
これを行う方法?アプリケーション全体のデフォルトのエンコーディングを変更したくありません。
Google検索に基づいて、次のことを試しました:
ただし、@Meta アノテーションを使用してこれらの値を設定することも、getOutputEncoding メソッドをオーバーライドすることもできません。
Tapestry 4.0.2 を使用しています。
編集:私は、サブクラス化された HttpServletResposeWrapper を持つサーブレットフィルターでこれを行うことになりました。ラッパーは setContentType() をオーバーライドして、応答に必要なエンコードを強制します。
java - プロダクションリリースにTapestry5を使用する必要がありますか?
大規模なWebプロジェクト、主にグリーンフィールドを開始しています。私はJava/Webソリューション用のTapestryフレームワークが好きです。T5はまだベータ版であるため、Tapestry5プロジェクトの開始について懸念があります。ただし、ドキュメントを正しく理解している場合、T4開発はT5以降ではサポートされません。私の質問:T5で大企業のために大規模なプロジェクトを開始する必要がありますか?そうでない場合は、T5のリリースが差し迫っているので、T4を完全に無視する必要がありますか?
java - Tapestry で余分なコンポーネント スパン タグを非表示にするにはどうすればよいですか?
<span jwcid="@If" .../> のようなコンポーネントをレンダリングするために span タグを使用すると、HTML が無駄な span タグの束になってしまいます。ほとんどの場合は問題ありませんが、CSS に干渉したり、ページが無効になったりする場合があります。タペストリーにタグを処理するが、実際にはレンダリングしないように指示する方法はありますか?
java - タペストリー PropertyModel ドロップダウンに「選択」オプションを追加する簡単な方法はありますか
性別用のタペストリー PropertyModel があります。現在、ドロップダウンには男性と女性のみが表示されています。これは、モデルの唯一の値であるためです。「オプションを選択する」オプションを追加したいと思います。モデルに偽の値を追加せずにこれを行う標準的な方法はありますか? また、フィールドが必須の場合、「オプションを選択してください」に設定したままにすることはできないことを十分に理解できるようにしたいと思います.
browser - タペストリー 4: アセット キャッシュ コントロール?
私は Tapestry 4 を使用していますが、アセット (画像、スタイル シート、JS ライブラリ) を変更するリリースをプッシュするたびに、ユーザーのブラウザー キャッシュに古いバージョンのアセットがまだ残っているため、問題が発生します。キャッシュを許可する簡単な方法を設定したいのですが、アプリケーションを更新するときに新しいアセットのダウンロードを強制します。資産のキャッシュを完全に禁止するだけでは、受け入れられる解決策ではありません。
これを行うための既存のメカニズムは見当たりませんでしたが、Tapestry にビルド番号を URL に追加するように指示する方法があるのではないかと考えていました。たとえば、次のようなものです。
http://www.test.com/path/to/the/asset/asset.jpg?12345
そうすれば、すべての新しいビルドが、エンド ユーザーにとって別のアセットのように見えます。
Tapestry は、私が気付いていないキャッシュの問題を解決する簡単な方法を提供しますか? そうでない場合、Tapestry によって生成された URL を変更するにはどうすればよいでしょうか? そして、それを行うコードはどのようにしてビルド番号を取得するのでしょうか? (たとえば、Spring Bean にビルド番号を入れることはできますが、新しい URL 構築メカニズムはどのようにそれを取得するのでしょうか?)
java - tapestry5 からの出力ストリームに情報を入れるにはどうすればよいですか?
tapestry5 からの出力ストリームに情報を入れるにはどうすればよいですか?
ユーザーが入力したときに、保存用のダイアログを開くか、出力ストリーム情報を含むファイルを開くページが必要です。
次のコードを書きます。
パブリック クラス インデックス {
}
結果が「hellooooooooo」だけであることを願っていますが、(「hellooooooooo」+私のHTML生ページ)
java - tapestry5 で InvokeListener を使用するにはどうすればよいですか?
このコードを変換するにはどうすればよいですか
tapestry5 に入れるか、メソッドを呼び出す別の方法がありますか?
java - Web デザイナーに最適な Java Web フレームワークはどれですか?
「Web UI デザイナー」の役割を最もよくサポートする Java Web フレームワークはどれですか? つまり、どのフレームワークで次のことが可能になります。
- ビュー/ページで一般的な Web デザイン ツール (XHTML バリデーター、CSS エディターなど) を使用する
- サーバー上で実行せずに変更を表示する
- さまざまな UI オプションのプロトタイプを迅速に作成する
- 「開発者」と「デザイナー」の間の(ある程度)明確な分離をサポートします(用語は意図的にあいまいです)
私は、他の多くの人と同じように、多くの JSP フラグメントとインクルードを使用する大規模な従来の Struts 1.x アプリでは、これらの機能が非常に不足していることに気付きました。
アプリケーションを JSR-168/268 ポータル環境に移植することを決定しましたが、ポートレットを強化する Java Web フレームワークを決定していません。私はあらゆる種類 (アクションベース、コンポーネントベースなど) にオープンであり、重要な基準は、それが上記の役割をどれだけサポートしているかです。
私は Tapestry に興味をそそられます.Tapestry は、そのビューが XHTML 準拠のページであると主張しています (実行時に処理される追加の Tapestry 固有の属性が追加されているだけです)。これは、Web UIデザイナーのツールキットでうまく機能するように思えます。しかし、これが現実の世界で実際に起こっていることなのか、それとも妥協が必要なのかを知りたい.
もちろん、タペストリーよりいいものがあればぜひ教えていただきたいです!