確実にコンテンツを変換するために

元コンテンツのエンコーディングとFORM送信のエンコーディングに関して

デフォルトでは端末で入力された入力項目の値は、FORMタグが存在する元コンテンツのエンコーディングに変換されて元コンテンツサーバに送信されます。そのため、元コンテンツがEUC_JISで記述されているにも関わらずShift_JISが送信されてくることを想定してアプリケーションが作成されているような場合には、入力項目の値がEUC_JISで送信されるため文字化けが発生する可能性があります。このような場合にはcontentsRule.xmlserverSendFormEncodeDependUAをtrueに設定することで入力項目の値を端末のエンコーディング(推奨はShift_JIS)で元コンテンツサーバに送信するように指示する事が可能です。

タグを正しい順番で閉じる

元コンテンツを記述する際にはタグが正しい順番で閉じられていることを確認してください。正しい順番で閉じていないと正常に変換されないことがあります。

FORM内におけるSUBMITの位置に関して

x-ServletではFORM内に現れる最後の入力項目(<input>タグ、<button>タグ、<select>タグ、<textarea>タグ)がSUBMITボタンではない場合は、FORM内に現れるSUBMITボタンを移動してFORM内の最後の入力項目がSUBMITボタンになるようにします。このことによりSUBMITボタン周辺のレイアウトが変わってしまう可能性があります。これを避けるためにSUBMITボタンがFORM内で最後の入力項目として存在するような元コンテンツを作成してください。

FORM内におけるSUBMITの位置に関して(その2)

「<input type="submit">」の場合、上述のようにSUBMITボタンの位置補正が行なわれます。しかし「<input type="SUBMIT">」のようにtype属性が厳密に"submit"ではない場合、SUBMITボタンの位置補正は行なわれません。
これにより任意の位置にSUBMITボタンが配置することが可能になりますが、<form>中でページ分割が発生した場合その<form>が送信できなくなる可能性がありますので、この機能を使用する際には<form>部分でページ分割が発生しないことを確認のうえご使用ください。

<input type="radio">タグの制限

<input type="radio">タグではvalue属性に""(空文字)を指定することはできません。""(空文字)が使われていた場合、""(空文字)が設定されたradioが選択されても選択されていないものとして動作してしまいます。

入力項目のname属性

name属性が指定されていない入力項目はx-Servletに記憶されないため、ページ分割時に生成される「前へ」「次へ」リンクでページを移動しても入力した内容は復元されず空白となります。

タグ内の絵文字

ボタンの文字列中や入力項目内に絵文字を使用することはできません。x-Servletではタグ内に書かかれたコードは変換しないため、正常に表示されません。

<plaintext>タグでの制限

<plaintext>タグが含まれているページではタグの性質上、次のページへリンクが機能しないためページ分割が正常に動作しません。また、タグを正規化する関係上、余分な"</body></html>"が出力されます。元コンテンツ中では<plaintext>タグを使わないことを推奨します。

リスト系タグでの制限

PCのブラウザでは<ul>タグや<ol>タグに囲まれていない<li>タグも表示されますが、x-Servletでは必ず<ul>タグか<ol>タグで<li>タグを囲っておく必要があります。

<form>タグの制限

<form method="POST">タグの送信結果として画像を返すようなコンテンツには対応していません。
<form>タグのaction属性として"mailto:"で始まる値を指定したとしてもメールは送信されません。メール送信を行いたい場合は<a>タグで行ってください。

入力項目とページ分割

ページ分割の際にはページのサイズを元にページ分割位置を決定していますが、多くの端末は1ページ中に記述可能な入力項目に制限があります。x-Servletはそれらの個々の端末に依存する個数制限は考慮しません。そのため、入力項目の個数に関しましては元コンテンツ中で対応する必要があります。

<form>タグとHTTPS通信

通常のコンテンツの場合、HTTPコンテンツ中に「<form action="https://host/dir/file">」というようにaction属性としてHTTPSのURLが記述されているとフォームデータを送信する際には暗号化が行なわれます。しかしx-Servletを用いた場合、<form>タグのaction属性が<form>タグが存在するページのURLに書き換えられてしまう関係でこのフォームデータは暗号化されること無く送信されてしまいます。そのためフォーム通信を暗号化したい場合には、その<form>が存在するページ自体がHTTPSのページになっているようにする必要があります。

ページ内リンク(リンクのリファレンス対応の範囲)

x-Servletはページ内リンクの飛び先としてname属性による飛び先指定には対応していますが、id属性による飛び先指定には対応していません。ページ内リンクを用いる場合には<a name="reference">を用いて飛び先を指定するようにしてください。ただし、name属性による飛び先指定であっても、そのリクエストはサーバに送られます。

<base>タグの扱い

元コンテンツに<base>タグを指定した場合、x-Servletは<base>タグで指定された基準URIを用いて元コンテンツ内に記述されている絶対パスと相対パスを絶対URIに書き換えます。
そのため<base>タグは絶対パスが指定されている必要があります。相対パスで指定されている場合は元コンテンツ内のリンクパスを書き換えずに<base>タグを削除します。

<base>タグのパスが反映された結果がリンク変換の対象となりますので<base>タグのパスがcontentsRule.xml のルールにマッチしない場合はサーバID、セッションIDが付与されません。

<script>タグでの制限

<script>タグの内部は"<!-- -->"で囲まれている必要があります。タグで囲まれていない場合はタグの解釈などに問題が発生しコンテンツが正常に変換されません。

背景画像について

background-imageプロパティで背景画像を指定する場合、サイズの大きな画像を使用するとキャッシュサイズの小さい旧端末では縮小してもキャッシュに収まらずにエラーになる可能性があります。
背景画像はなるべく小さいサイズを使用することを推奨します。

TOP