力量不足
とりあえず思いつくまま下記のようにやってみた。
Resolverに仕込んだSystem.outは発動せず・・・
根本的に間違ってるかもしれないので、
指摘してください。m(_ _)m
勉強します。
package org.seasar.application.gusuku.servlet; import org.seasar.application.gusuku.resolver.WebworkResolver; import org.seasar.maya.impl.ServiceProviderImpl; import org.seasar.maya.standard.StandardServiceProviderFactory; public class WebworkFactory extends StandardServiceProviderFactory { private void prepareExpressionResolvers(ServiceProviderImpl provider) { provider.addExpressionResolver(new WebworkResolver()); System.out.println("add Resolver"); } protected void prepareServiceProvider(ServiceProviderImpl provider) { super.prepareServiceProvider(provider); prepareExpressionResolvers(provider); } }
package org.seasar.application.gusuku.resolver; import org.seasar.maya.MayaContext; import org.seasar.maya.el.resolver.ExpressionResolver; public class WebworkResolver implements ExpressionResolver { public Object getValue(MayaContext context, Object base, Object property) { System.out.println("WebworkResolver getValue"); if (context == null) { throw new NullPointerException(); } System.out.println(base + ":" + property); return null; } public void setValue(MayaContext context, Object base, Object property, Object value) { System.out.println("WebworkResolver setValue"); } public boolean isReadOnly(MayaContext context, Object base, Object property) { System.out.println("WebworkResolver isReadOnly"); return true; } }
package org.seasar.application.gusuku.servlet; import org.seasar.maya.ServiceProviderFactory; import org.seasar.maya.standard.MayaServlet; public class GusukuServlet extends MayaServlet { /* static{ ServiceProviderFactory.setDefaultFactory(new WebworkFactory()); } */ public void init() throws ServletException { ServiceProviderFactory.setDefaultFactory(new WebworkFactory()); super.init(); } }