当我尝试输入<
字符后面的文本时,文本不会显示如下所示。使用textarea字段输入的注释(文本)如“Test Comments with<Character
”。将评论添加到页面后,评论在jsp页面上显示为:Test Comments with
。 <Character
错过的文字未在页面上显示。我需要更改正则表达式还是在jsp页面中有任何错误?
这里我使用list数组来保存使用JSON和JAXB对象的所有注释。在jsp页面中,当我尝试显示注释时,那些没有正确显示。
Commments显示为“Test Comments with
”。
<td colspan="2"><html:textarea name="caseDetailForm" styleId="addCommentsTextArea"
property="caseCommentText" style="width:99%" rows="7" styleClass="validate-length-750" />
使用正则表达式,如: CommentInput = [\ w \ \ - @!\。\ $ \ + \(\)\#\ | \ [\] \\ / \ ^%&安培; _ \ =〜“”,\&LT;&GT;`\} \ {\:;?\ \ X80 \ X83 \ XA2 \ XA3 \ XA4 \ xA5版权所有\ xA9 \ XAE \ r \ n]的
这里的列表是一个用CaseComment命名的jaxb bean。我有像
这样的java代码CaseComment[] list = form.getCaseDataJaxb().getCommentList();
JSONObject obj = new JSONObject();
JSONArray comments = new JSONArray();
JSONObject obj = new JSONObject();
JSONArray comments = new JSONArray();
commObj.put(list[i].getText());
comments.put(commObj);
log.info("----->"+list[i].getText()+"<-----");
}
}
obj.put("comData", comments);
response.setContentType("text/json");
response.getWriter().write(obj.toString());
在java中调试后,我在Test Comments with<Character
中收到整个文本“list
”。但没有在jsp中显示。
在jsp中显示我正在使用以下标签:
<logic:iterate id="comments" name="InfoForm" property="caseDataJaxb.commentList" indexId="index">
<tr>
<td><c:out value="${comments.text}"/></td>
</tr>
</logic:iterate>
答案 0 :(得分:0)
是肯定的。我找到了我的问题的答案,并按照cheffe说我以同样的方式做了。
这是逻辑:
CaseComment[] list = form.getCaseDataJaxb().getCommentList();
JSONObject obj = new JSONObject();
JSONArray comments = new JSONArray();
JSONObject obj = new JSONObject();
JSONArray comments = new JSONArray();
String str = list[i].getText());
str = str.replaceAll("<","&");
commObj.put(str);
comments.put(commObj);
}
}
obj.put("comData", comments);
response.setContentType("text/json");
response.getWriter().write(obj.toString());
我改变了这样的代码并找到了解决方案。此外,CodeReview中的其他代码也增强了代码。