package com.taobao.easyweb.core.request; import com.taobao.easyweb.core.app.App; import com.taobao.easyweb.core.groovy.annotation.AnnotationParser; import groovy.lang.GroovyObject; import org.apache.commons.lang.StringUtils; import org.springframework.stereotype.Component; import java.io.File; import java.lang.annotation.Annotation; import java.lang.reflect.Method; @Component public class PageAnnotationParser extends AnnotationParser { @Override public boolean isParse(Annotation annotation) { return annotation instanceof Page; } @Override public void parse(App app, Annotation annotation, File file, Object target, GroovyObject groovyObject) { if (!(target instanceof Method)) { return; } Method javaMethod = (Method) target; Page page = javaMethod.getAnnotation(Page.class); if (page == null) {// ֻ֧��û�в����ķ��� return; } PageMethod pageMethod = new PageMethod(); pageMethod.setUrl(page.method() + ":" + page.url()); pageMethod.setFile(file); pageMethod.setMethod(javaMethod.getName()); if (StringUtils.isNotBlank(page.layout())) { pageMethod.setLayout(page.layout()); } RequestMapping.addPageMethod(app.getAppKey(), pageMethod); } }