- 追加された行はこの色です。
- 削除された行はこの色です。
[[FAQ]]
*Teeda [#q6e5781b]
#contents
**インクルードしたhtmlで前ページからのプロパティを参照したい [#n61605b9]
- A: http://ml.seasar.org/archives/seasar-user/2007-June/010238.html
**Tomcat起動時にParserConfigurationExceptionが発生する [#z2ade9df]
Tomcat起動時に次のようなエラーが発生する場合、
> org.seasar.framework.exception.ParserConfigurationRuntimeException: [ESSR0053]パーサの設定に問題があります。理由はjavax.xml.parsers.ParserConfigurationException: Feature 'http://apache.org/xml/features/xinclude' is not recognized.
$TOMCAT/common/endorsedにある、xercesImpl.jarとxml-apis.jarを削除してください。
(Tomcat 5.5.20で確認)
**TeedaExtensionでFormにInputTextが一つしかないとsubmit時にname属性が飛ばない。 [#m1fce656]
以下のように、formに1つのInputTextしか無い場合に、inputTextにfocusして
Enterキーを押すとname属性がわたらず、doXxxが呼ばれない。
この現象はIEの場合のみ発生する。
<form id="form">
<span>hogehoge</span>
<input type="text" id="arg1" title="INPUT1" />
<input type="submit" value="calculate" id="doCalculate"/>
</form>
これを解消するには、
<input type="text" style="display: none"/>
をひとつ追加する
**TeedaをWAS6.1で動かす [#c3390567]
TeedaをWAS6.1で動かすには、
-WEB-INF/libにServletのjarが含まれていたら消去してWARにする.
-WASの設定で、WARのクラスローダーに「最初にアプリケーションクラスローダーをロードしたクラス」を選択する
**動的にHTMLタグの属性を設定を行うには [#o0388425]
DynamicPropertyを使用してください。
http://teeda.seasar.org/ja/extension_features.html#dynamicproperty
**TeedaのPageClass からコンポーネントをスコープに置くには [Seasar-user:5581] [#ad708177]
service,dtoなどの適当なパッケージにコンポーネントを作り、
@Component(instance=InstanceType.SESSION)
public class ...
のようにインスタンス属性を指定してください。
**個別の例外に応じてエラーページを設定する [#p89be55a]
teedaErrorPage.diconに個別の例外に応じてエラーページの設定を記述します。
<component class="org.seasar.teeda.extension.util.TeedaExtensionErrorPageManagerImpl">
<!--ここから追加-->
<initMethod name="addErrorPage">
<arg>@org.seasar.framework.exception.SRuntimeException@class</arg>
<arg>"/view/error/custom.html"</arg>
</initMethod>
<!--ここまで-->
<initMethod name="addErrorPage">
<arg>@java.lang.Throwable@class</arg>
<arg>"/view/error/error.html"</arg>
</initMethod>
</component>
この場合、個別の例外の設定のほうが上にくるようにしてください。
**NullLabelの「選択してください」という文面を変更するには [#m9ca05ec]
propertiesで切り替えることが出来ます。
まずpropertiesファイルを作成して、faces-config.xmlに定義します。
(名前は一般的には、appMessages.propertiesがよく使われます)
このあたりはteeda-html-exampleを参考にしてください。
そこに、
org.seasar.teeda.extension.component.TSelect.NULL_LABEL
というキーで値を設定すればこのNULLラベルが使用されます。
**Pageクラスでrequest/response/session/context/FacesContextを使用するには [#xfc0eff8]
pageクラスに、以下のプロパティを用意してください。
|クラス|プロパティ名|
|HttpServeltRequest|-|
|HttpServeltResponse|-|
|HttpSession|-|
|ServletContext|-|
|FacesContext|facesContexgt|
|FacesContext|facesContext|
**Pageクラスから直接エラーメッセージを設定する [#q79cd033]
javax.faces.internal.FacesMessageUtilを使用して、
FacesMessageUtil.addErrorMessage("E0000002");
のようにしてください。
メッセージは、 WEB-INF/faces-config.xmlで指定したプロパティファイルに記述します。
**実体参照を表示するには [#m215ddb5]
例えば半角スペースを表示したい場合、
&nbsp;
となります。
**conditionコンポーネントの<div>タグにDynamicPropertyを設定したい [#z6f06f15]
<div id ="isNotCreate" style="〜">
なタグにDynamicPropertyを設定する場合、
public String getIsNotCreateStyle() {
//略
}
となります。
**静的HTMLをTeedaの処理対象から外す [#h66c0434]
TeedaはHTMLファイルをXMLとして解析するので、静的なHTMLをそのまま出力する場合にXMLとしてwell-formedでないと例外になります。
静的なHTMLは拡張子を.htmにすれば、Teedaの処理対象ではなくなるのでひとまず出力することができます。
**LogicやHelperにFacesContextをDIしたい [#u29c5deb]
Teeda は FacesContext を外部コンテキストに設定するので、creator.dicon で、
<component class="org.seasar.framework.container.creator.LogicCreator">
<property name="externalBinding">true</property>
</component>
とすれば Logic にも FacesContext が DI されるようになります。
Helperも同様です。
**バリデーションのエラーメッセージに id ではなく日本語を使うには? [#r01c25bf]
Label機能を使用して、idに対する日本語名称を設定します。
http://d.hatena.ne.jp/dewa/20070720#1184920170