力量不足

とりあえず思いつくまま下記のようにやってみた。
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();
    }
    
}