我创建了一个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页面将值写入类的静态字段?我该如何解决这个问题?
答案 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中的所有请求/会话之间共享。不同的访问者将看到相同的值,任何修改都将反映给所有访问者。这就是你想要的吗?