Jsp静态导入

时间:2010-04-27 00:54:10

标签: jsp spring-roo

我创建了一个Spring Roo项目。一切都很好看。现在我想添加一个带有文本输入和按钮的表单到我的index.jspx。此表单将更改currentUser类中的静态字段ToDo。所以我补充道:

<form>
  <%@ page import="static com.mypack.domain.ToDo.*" %>
   <label for="_username_id">My name is:</label>
    <% currentUser = request.getParameter("username"); %>
             <input type="text"  id="username" name="username" maxlength="30" path="username" size="0" value="<%= currentUser %>"/>
             <input type="submit"/>
</form>
在它的中间的某个地方。现在它不起作用:

This page contains the following errors:

error on line 6 at column 20: StartTag: invalid element name
Below is a rendering of the page up to the first error.

function readCookie(name) { var nameEQ = name + '='; var ca = document.cookie.split(';'); for(var i=0;i

如果我评论上面的行,它就可以了。怎么了?有没有办法从jsp页面将值写入类的静态字段?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

只需使用EL即可。请求参数由${param.name}提供。

<input type="text" name="username" value="${param.username}" />

您只需要考虑XSS。请使用JSTL fn:escapeXml

<input type="text" name="username" value="${fn:escapeXml(param.username)}" />

不要使用 scriptlet (那些<% %>事物)。它们被视为bad practice

ToDo.currentUser是静态字段也听起来不太好。它的值将在webapplication中的所有请求/会话之间共享。不同的访问者将看到相同的值,任何修改都将反映给所有访问者。这就是你想要的吗?