Hello,
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:
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.Code:SEVERE: Servlet.service() for servlet default threw exception org.xml.sax.SAXException: No tag "eval" defined in tag library associated with uri "http://www.springframework.org/tags"
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="http://www.springframework.org/tags"?
Thank you.


Reply With Quote