2010-01-03 4 views
2

Я хотел бы осуществить следующее:Grails: Как проверить существование файла gsp/template с контроллера?

import org.springframework.web.servlet.support.RequestContextUtils as RCU 

class HomeController { 
    def home = { 
     def locale = RCU.getLocale(request) 
     render view: viewExists("home_$locale") ? "home_$locale": "home" 
    } 
} 

Что такое код boolean viewExists(String viewPath), который возвращает истину, если входной аргумент указывает на допустимый GSP или шаблон файла?

ответ

6

Вы можете попробовать это:

def uri = "test123.gsp"   
def resource = grailsAttributes.pagesTemplateEngine.getResourceForUri(uri) 

if (resource && resource.file && resource.exists()) { 
    // exists 
} 

(редактировался this post), но обратите внимание на предостережение, что getResourceForUri() является частным (see here). Код работает для меня, но это не дает мне теплого/нечеткого чувства.

Я думаю, что вопрос состоит в том, чтобы задать свой вопрос в терминах более крупной цели/проблемы и попытаться решить эту проблему. Возможно, у Грайля есть ответ.

+0

Я трачу много времени на поиск этого !!! Благодаря!!! – kaleemsagard

Смежные вопросы