Контроллер, имитирующий весну: тег сообщения? - PullRequest
4 голосов
/ 20 августа 2010

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

Моя идея заключается в том, что я отправлю запрос на событие и покажу данный ответ в специальном div или около того.

Я хотел бы получить похожее поведение в виде тега , отправить код сообщения и получить представление String для локализованного сообщения. Было бы здорово, если бы он использовал те же ресурсы.

Есть ли способ вызвать этот тег из контроллера? (за этим тегом стоит Java-код) Или как лучше имитировать этот тег на стороне контроллера?

Ответы [ 2 ]

9 голосов
/ 20 августа 2010

С помощью Теджи Кантамнени я прихожу с этим контроллером


@Controller
public class HelpController {
    protected Log log = LogFactory.getLog(getClass());

    @Autowired  
    private MessageSource messageSource;

    @RequestMapping(value = "ajax/gethelp")
    public @ResponseBody String handleGetHelp(Locale loc, String code) {
        return messageSource.getMessage(code, null, loc);
    }
}
2 голосов
/ 20 августа 2010

Используйте ResourceBundleMessageSource, чтобы объявить сообщения и затем автоматически подключить / внедрить их в ваш контроллер.

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"            p:basename="messages"/>

в качестве альтернативы вы можете использовать util: properties для загрузки файла свойств.

<util:properties id="jdbcConfiguration" location="classpath:com/foo/jdbc-production.properties"/>

затемполучить доступ к этому ресурсу в вашем контроллере, используя идентификатор.

...