Announcement Announcement Module
No announcement yet.
Problem with spring:eval expression Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem with spring:eval expression


    First of all, before talking about problems and solutions, I would like to say a few words about ROO. I have been working with it a couple of weeks and I must say that I'm amazed. It is a magnificient piece of software. Even within Spring community which does not stop to thrill us with new and innovative ideas, this one really stands out. Not only for originality, devotion, and time spent but also for attention to people. One can witness this by just looking at the first page of this forum and remark how many and how prompt are the answers from the people of the project, like Ben Alex. Please keep up with this work, it is really appreciated.

    Now for the issue at hand. I set up a project in Toolsuite 2.3.3 and Roo 1.1. It has a MySQL db, Hibernate and I used the scaffold controller. Now in the web run, I was getting a curious error (uncaught exception) when trying to show an entity instance whereas the update instance was working correctly. The log showed the following:

    SEVERE: Servlet.service() for servlet default threw exception
    org.xml.sax.SAXException: No tag "eval" defined in tag library associated with uri ""
    Although it's not a common error, it is easy to realize that the problem is caused by <spring:eval expression>. This can be found in the form tags and for example in the display.tagx, it includes <spring:eval expression="object[field]" />. I found a Jira issue #ROO-689 where the original <c:out value="${object[field]}"/> has been replaced with the above expression. By restoring it to the <c:out> expression, the problem was solved.

    The same is true for a create instance which includes a form:select which references select.tagx in form/fields. Reverting to the <c:out> expression solves the problem.

    Can anyone please, clarify why this change was made and why there is a problem with it? And why <spring:eval> is not found? Maybe it's a namespace issue (xmlns:spring=""?

    Thank you.

  • #2
    The spring:eval tag was introduced with Spring 3.0.x. Have you changed the Spring version in your project pom.xml file?



    • #3
      That's it


      Thanks for the reply and for the suggestion. It is indeed the spring version in the POM, which worked with 3.0.3.