开发者

Velocity Spring Bind

开发者 https://www.devze.com 2023-02-10 18:42 出处:网络
I have a requirement to store a jsp in a database. I managed to store the html in the database and display using escapeHTML. The problem I had was with jsp tags. They never resolved.

I have a requirement to store a jsp in a database. I managed to store the html in the database and display using escapeHTML. The problem I had was with jsp tags. They never resolved.

I am now using Velocity Templates instead. I am busy with a proof of concept and managed to get variable substitution and the use of if statements working using Velocity.evaluate. I now have a problem using spring tags for binding as I cant get the macros to resolve. Any ideas on 开发者_StackOverflow社区what my problem could be?

    Velocity.init();

    VelocityContext context = new VelocityContext();


    String template="#springBind(\"command.firstname\") " +
    "   <input type=\"text\" size=\"50\" maxlength=\"255\" id=\"userName\"  " +
    "       name=\"${status.expression}\"  " +
    "       value=\"${status.value}\"  " +
    "   <div class=\"requiredexample\">  " +
    " e.g. username@domain.com  " +
    "   </div>  " +
    "   <div class=\"errors\">${status.errorMessage}</div>  ";


    StringWriter writer = new StringWriter();
    Velocity.evaluate(context, writer, "TemplateName", template);

    System.out.println(writer);  


In order to use Spring tags you need to have a Velocity engine configured in appropriate way. It's done by VelocityConfigurer. Perhaps you can use that class as is or check its source to perform similar configuration manually.

Also take a look at VelocityViewResolver and VelocityView, they may contain something important for Spring tags.

0

精彩评论

暂无评论...
验证码 换一张
取 消