我是JSP编程的新手,我需要为项目快速解决错误。如果我的研究不充分,请道歉。
我在jsp中收到以下错误
Syntax error on token "final", invalid VariableDeclaratorId
118: sanitize = sanitize.replace("[","").trim();
119: sanitize = sanitize.replace("]","").trim();
120: sanitize = sanitize.replace("\"","").trim();
121: String[] final = sanitize.split(",");
122:
123:
124: for(int i=0;i<final.length;i++){
An error occurred at line: 124 in the jsp file: /inc/AddClientForm.jsp
Syntax error on token "final", invalid Expression
121: String[] final = sanitize.split(",");
122:
123:
124: for(int i=0;i<final.length;i++){
125:
126:
127:
我基本上将一个字符串拆分成一个数组并将其填充到我的jsp上。 我在jsp上有以下导入
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.*" %>
<%@ page import="java.lang.String" %>
答案 0 :(得分:1)
问题与基本的Java编码有关。 final
是Java中的关键字,不能将其用作变量名称:
String[] final = sanitize.split(",");
更改变量的名称:
String[] myFinalSanitizedStrings = sanitize.split(",");
除了这个问题,你不应该直接在你的JSP中清理你的String
,使用Servlet来做到这一点。不过,您只需使用JSTL <c:out>
:
<c:out value="${whateverStringThatCanPotentiallyGenerateAnXSSAttack}" />
更多信息:
答案 1 :(得分:0)
final
是java中的保留关键字
所以你不能这样做String[] final = sanitize.split(",");
将其更改为其他名称
String[] final1 = sanitize.split(",");
在java
中查看this保留关键字