[Seasar-user:18876] Re: [Ymir] Validate後に、該当textboxのスタイルを変更したい

西山 はじめ [E-MAIL ADDRESS DELETED]
2009年 11月 11日 (水) 17:37:04 JST


西山(hajimeni)です。
お世話になっております。

横田さん、対応ありがとうございます。
早速見させていただきました。

行いたいことはこれで実現できます。ありがとうございます。

ひとつ気になる点があります。

decorate ですと「装飾する」という意味ですが、バリデーション
エラー以外にもこの書式は利用できるのでしょうか?

バリデーションエラーの場合のみの仕様の場合、構文として分かり
づらいのではないかと思います。

teeda の onError のような名称の方がよいと思うのですがいかが
でしょうか。

以上よろしくお願いいたします。

[2009/11/11 16:49] YOKOTA Takehiko さんは書きました。:
> 横田です。
> 
> メール遅くなりました。この件、dbflute-ymir-exampleで用いていた書式は
> 一時期動作していましたが、検討の末SNAPSHOTレベルで廃止されました。
> (久保さんごめんなさい)
> 
> 代わりに、ymir-1.0.7-SNAPSHOTでは、新しい書式として以下のような記述が
> できるようになっています。
> 
> tal:attributes="class decorate:パラメータ名 with class値"
> 
> これは、「パラメータ名で指定されたパラメータについてバリデーションエラー
> が起きた場合に、class値で指定された値を現在のclass属性の値に追加する」
> という意味になります。(バリデーションエラーがない場合はclass属性の値
> はそのままです。)
> 
> ymir-example-genericの最新版の
> 
> http://localhost:8080/ymir-example-generic/text/index.html
> 
> も見てみて下さい。
> 
> なお、上記書式を使うには、最新のYmirの1.0.7-SNAPSHOTとFreyjaの1.0.17-SNAPSHOT
> が必要になります。両方ともmavenのsnapshotリポジトリにはデプロイ済みです。
> 
> 以上よろしくお願いします。
> 
> 
> 西山 はじめ さんは書きました:
>> 西山(hajimeni)です。
>>
>>  > すいません、dbflute-ymir-exampleのその部分が
>>  > Ymirとある時点(SNAPSHOT)の方式でした。
>>  > ちょっとちゃんとしたやり方を調べて直しますね。
>>
>> 了解いたしました。
>> よろしくお願いいたします。
>>
>>
>> [2009/11/06 17:52] kubo さんは書きました。:
>>> 久保(jflute)です。
>>>
>>> 西山さん、こんにちは
>>>
>>> すいません、dbflute-ymir-exampleのその部分が
>>> Ymirとある時点(SNAPSHOT)の方式でした。
>>> ちょっとちゃんとしたやり方を調べて直しますね。
>>>
>>> 2009/11/5 西山 はじめ <[E-MAIL ADDRESS DELETED]>:
>>>> お世話になっております。
>>>> 西山(hajimeni)です。
>>>>
>>>> 最新のtrunk(https:
>>>> //www.seasar.org/svn/sandbox/dbflute/trunk/dbflute-ymir-example) に存 
>>>> 在する
>>>> dbflute-ymir-example なのですが、 member/edit/input.html の 
>>>> Validation後の スタイル変化が動き
>>>> ません。
>>>>
>>>> <label tal:attributes="class notes/contains(memberAccount) ?
>>>> string:label-invalid : default" class="label-normal">
>>>>
>>>> 以前は動作していたような覚えがあるのですが、ログを見ると例外 が発生し 
>>>> ておりました。
>>>>
>>>> また、次のように修正すると動きます。
>>>> <style>
>>>> .label-true {
>>>>    color: #DD6666;
>>>> }
>>>> </style>
>>>> <label tal:attributes="class 
>>>> string:label-${notes/contains(memberAccount)}"
>>>> class="label-normal">
>>>>
>>>> ログには、以下のように出力されています。
>>>> 解決方法ありますでしょうか?
>>>> また、Ymir1.0.4 を利用したサンプルまでさかのぼって取得しても 同じ結果 
>>>> でした。
>>>>
>>>> 環境は
>>>> Tomcat6.0
>>>> JDK1.6
>>>> です。
>>>>
>>>> 以上よろしくお願いいたします。
>>>> =======================================================
>>>> ここからログ
>>>> =======================================================
>>>> 2009-11-05 19:10:01,767 DEBUG http-8080-3
>>>> [YmirBeanPathResolver#resolve():42] - No Such property
>>>> (org.seasar.ymir.message.Notes/contains(memberAccount) ?
>>>> string:label-invalid : default): treated as null
>>>> java.lang.NoSuchMethodException: Unknown property 'contains'
>>>>        at
>>>> org.apache.commons.beanutils.PropertyUtilsBean.getMappedProperty(PropertyUtilsBean.java:536) 
>>>>
>>>>        at
>>>> org.apache.commons.beanutils.PropertyUtilsBean.getMappedProperty(PropertyUtilsBean.java:485) 
>>>>
>>>>        at
>>>> org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:682) 
>>>>
>>>>        at
>>>> org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715) 
>>>>
>>>>        at
>>>> org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290) 
>>>>
>>>>        at
>>>> org.seasar.ymir.zpt.YmirBeanPathResolver.resolve(YmirBeanPathResolver.java:31) 
>>>>
>>>>        at
>>>> net.skirnir.freyja.zpt.tales.PathTypePrefixHandler.resolveSegment(PathTypePrefixHandler.java:182) 
>>>>
>>>>        at
>>>> net.skirnir.freyja.zpt.tales.PathTypePrefixHandler.resolvePath(PathTypePrefixHandler.java:155) 
>>>>
>>>>        at
>>>> net.skirnir.freyja.zpt.tales.PathTypePrefixHandler.resolvePath(PathTypePrefixHandler.java:135) 
>>>>
>>>>        at
>>>> net.skirnir.freyja.zpt.tales.PathTypePrefixHandler.handle(PathTypePrefixHandler.java:68) 
>>>>
>>>>        at
>>>> net.skirnir.freyja.zpt.tales.TalesExpressionEvaluator.evaluateExpression(TalesExpressionEvaluator.java:144) 
>>>>
>>>>        at
>>>> net.skirnir.freyja.zpt.tales.TalesExpressionEvaluator.evaluate(TalesExpressionEvaluator.java:116) 
>>>>
>>>>        at
>>>> org.seasar.ymir.zpt.YmirTalesExpressionEvaluator.evaluate(YmirTalesExpressionEvaluator.java:46) 
>>>>
>>>>        at
>>>> net.skirnir.freyja.zpt.TalTagEvaluator.processAttributes(TalTagEvaluator.java:747) 
>>>>
>>>>        at
>>>> net.skirnir.freyja.zpt.TalTagEvaluator.evaluate(TalTagEvaluator.java:459) 
>>>>
>>>>        at
>>>> net.skirnir.freyja.zpt.MetalTagEvaluator.evaluate(MetalTagEvaluator.java:128) 
>>>>
>>>>        at net.skirnir.freyja.TagElement.evaluate(TagElement.java:49)
>>>>        at
>>>> net.skirnir.freyja.TagEvaluatorUtils.evaluateElements(TagEvaluatorUtils.java:56) 
>>>>
>>>>        at
>>>> net.skirnir.freyja.zpt.TalTagEvaluator.evaluate(TalTagEvaluator.java:533) 
>>>>
>>>>        at
>>>> net.skirnir.freyja.zpt.MetalTagEvaluator.evaluate(MetalTagEvaluator.java:128) 
>>>>
>>>>        at net.skirnir.freyja.TagElement.evaluate(TagElement.java:49)
>>>>        at
>>>> net.skirnir.freyja.impl.TemplateEvaluatorImpl.evaluate(TemplateEvaluatorImpl.java:118) 
>>>>
>>>>        at
>>>> net.skirnir.freyja.webapp.FreyjaServlet.doProcess(FreyjaServlet.java:244) 
>>>>
>>>>        at
>>>> net.skirnir.freyja.webapp.FreyjaServlet.doPost(FreyjaServlet.java:163)
>>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>>        at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
>>>>
>>>>        at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>>>>
>>>>        at 
>>>> org.seasar.ymir.impl.YmirImpl.processResponse(YmirImpl.java:273)
>>>>        at org.seasar.ymir.zpt.ZptYmir.processResponse(ZptYmir.java:47)
>>>>        at org.seasar.ymir.impl.YmirImpl.process(YmirImpl.java:213)
>>>>        at 
>>>> org.seasar.ymir.servlet.YmirFilter.doFilter(YmirFilter.java:90)
>>>>        at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
>>>>
>>>>        at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>>>>
>>>>        at
>>>> org.seasar.cms.pluggable.servlet.PluggableFilter.doFilter(PluggableFilter.java:43) 
>>>>
>>>>        at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
>>>>
>>>>        at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>>>>
>>>>        at
>>>> org.seasar.ymir.servlet.RequestLoggingFilter.doFilter(RequestLoggingFilter.java:96) 
>>>>
>>>>        at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
>>>>
>>>>        at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>>>>
>>>>        at
>>>> org.seasar.ymir.servlet.MultipartRequestFilter.doFilter(MultipartRequestFilter.java:44) 
>>>>
>>>>        at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
>>>>
>>>>        at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>>>>
>>>>        at
>>>> org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69) 
>>>>
>>>>        at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
>>>>
>>>>        at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
>>>>
>>>>        at
>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
>>>>
>>>>        at
>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
>>>>
>>>>        at
>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) 
>>>>
>>>>        at
>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
>>>>
>>>>        at
>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
>>>>
>>>>        at
>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
>>>>
>>>>        at
>>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) 
>>>>
>>>>        at
>>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) 
>>>>
>>>>        at
>>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
>>>>        at java.lang.Thread.run(Thread.java:619)
>>>> =======================================================
>>>>
>>>> -- 
>>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>>  西山 はじめ
>>>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>>>
>>>> _______________________________________________
>>>> Seasar-user mailing list
>>>> [E-MAIL ADDRESS DELETED]
>>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>>
>>> _______________________________________________
>>> Seasar-user mailing list
>>> [E-MAIL ADDRESS DELETED]
>>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>>
>>>
>>>
>>
> 
> 


-- 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
株式会社フジミック 
        システム開発センター ソフトウェア開発部
 西山 創
[E-mail]:[E-MAIL ADDRESS DELETED]
 
〒140-0002 東京都品川区東品川3-32-42 フジテレビ別館7階
[TEL]:03-5495-1060
++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Seasar-user メーリングリストの案内