我对 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" %>
最佳答案
该问题与基本 Java 编码有关。 final
是 Java 中的关键字,您不能将其用作变量的名称:
String[] final = sanitize.split(",");
更改变量的名称:
String[] myFinalSanitizedStrings = sanitize.split(",");
<小时/>
除了这个问题之外,您不应该 sanitizer 您的String
直接在您的 JSP 中,使用 Servlet 来做到这一点。尽管如此,您仍然可以通过使用 JSTL <c:out>
来阻止任何不需要的内容。 :
<c:out value="${whateverStringThatCanPotentiallyGenerateAnXSSAttack}" />
更多信息:
关于java - 无效的 VariableDeclaratorId jsp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23521375/