Java Jsp out.print()捕获了额外的文本
我的Jsp中有代码片段:Java Jsp out.print()捕获了额外的文本,java,jsp,printing,Java,Jsp,Printing,我的Jsp中有代码片段: catch (Exception e) { out.print("<Grid><IO Result='-1' Message='"); out.print(e.toString()); out.print("'/></Grid>"); out.close(); throw new Exception(""); } catch(异常e){ 输出。打印(“”); out.close(); 抛出新异常(“”); }
catch (Exception e) {
out.print("<Grid><IO Result='-1' Message='");
out.print(e.toString());
out.print("'/></Grid>");
out.close();
throw new Exception("");
}
catch(异常e){
输出。打印(“”);
out.close();
抛出新异常(“”);
}
我希望结果必须是有效的xml
"<Grid><IO Result='-1' Message='Failed to load HSQLDB JDBC driver.'/></Grid>"
“”
但结果是:
"<Grid><IO Result='-1' Message='"); out.print(e.toString()); out.print("'/></Grid>"
“”
请帮我解决这个问题 catch(异常e){
catch (Exception e) {
%><Grid><IO Result='-1' Message='%><%= e.getMessage() %><%'/></Grid><%
throw new Exception("");
}
%>
抛出我将稍后离开。first out.print()中的单个引号未关闭。您能将e.toString()向上移动吗 编辑:以及转义单引号
catch (Exception e) {
out.print("<Grid><IO Result=\'-1\' Message=\'" + e.toString() + "\'/>");
out.print("</Grid>");
out.close();
throw new Exception("");
}
catch(异常e){
输出。打印(“”);
输出。打印(“”);
out.close();
抛出新异常(“”);
}
这不是问题所在,但这是一个很大的假设,即e.toString()
将只包含XML属性中有效的字符,特别是使用分隔的字符。
字符。我将e.toString()替换为“一些文本”。这对@user没有帮助:“这不是问题,但是…”我有点不习惯使用这种JSP,但请尝试在撇号(\'
)之前使用反斜杠。可能是JSP编译器造成了严重破坏。看看生成的java源代码。我还尝试使用\'。结果是:现在消息属性是“%>我也尝试了这个。消息属性变成了“+e.toString()+”
catch (Exception e) {
out.print("<Grid><IO Result=\'-1\' Message=\'" + e.toString() + "\'/>");
out.print("</Grid>");
out.close();
throw new Exception("");
}