【发布时间】:2015-11-09 07:23:34
【问题描述】:
我正在尝试用 java 解码 html 脚本。编码的 html 脚本是从数据库中获取的。这就是我在我的行动课上尝试的。
rs = stmt.executeQuery(sql);
while (rs.next()) {
String afterDecoding = StringEscapeUtils.unescapeHtml4(rs.getString("design"));
System.out.println("afterDecoding-"+afterDecoding);
design = afterDecoding;
}
我的 jsp (createreport.jsp) 文件。
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
</head>
<body>
<div id="design">
<s:property value="%{design}" />
</div>
这就是我调用动作的方式。
function createReport() {
var reportID = $('#a1').text();
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "createreport.action?reportID=" + reportID, true);
xhttp.send();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
console.log(xhttp.responseText);
document.getElementById("report_container").innerHTML = xhttp.responseText;
}
}
}
我想做的是,
- 从数据库中获取编码后的html脚本——这样就ok了
-
我想将此脚本设置为 div 的内容。为此,我尝试按照上述方法进行操作。
document.getElementById("report_container").innerHTML = xhttp.responseText; 但该脚本作为文本打印在我的网页上,而不是作为 html 脚本。
console.log(xhttp.responseText); 行打印如下。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
</head>
<body>
<div id="design">
<fieldset><div class="component" data-content="<form class='form'>
<div class='controls'>
<label class='control-label'> Report Title </label>
<input class='input-large field' data-type="input" type='text' name='name' id='name' value ='Employee Details' />
<label class='control-label'> Text Align </label>
<select class="field" data-type="select" id='textalign'>
<option value="text-left" >Left</option>
<option value="text-right" >Right</option>
<option value="text-center" selected >Centre</option>
</select>
<hr/>
<button id="save" class='btn btn- info'>Save</button><button id="cancel" class='btn btn- danger'>Cancel</button>
</div>
</form>
" data-title="Form Name" data-trigger="manual" data-html="true"><!-- Title -->
<h3 id="title-0" class="text-center">Employee Details</h3>
</div><div class="component" data-content="<form class='form'>
<div class='controls'>
<label class='control-label'> Sub Title </label>
<input class='input-large field' data-type="input" type='text' name='subtitle' id='subtitle' value ='Summary Report' />
<label class='control-label'> Text Align </label>
<select class="field" data-type="select" id='textalign'>
<option value="text-left" >Left</option>
<option value="text-right" >Right</option>
<option value="text-center" selected >Center</option>
</select>
<hr/>
<button id="save" class='btn btn- info'>Save</button><button id="cancel" class='btn btn- danger'>Cancel</button>
</div>
</form>
" data-title="Sub Title" data-trigger="manual" data-html="true"><!-- Sub Title-->
<h5 id="subtitle-0" class="text-center">Summary Report</h5>
</div><div class="component" data-content="<form class='form'>
<div class='controls'>
<hr/>
<button id="save" class='btn btn- info'>Save</button><button id="cancel" class='btn btn- danger'>Cancel</button>
</div>
</form>
" data-title="Hr" data-trigger="manual" data- html="true"><!-- hr -->
<hr>
</div><div class="component" data-content="<form class='form'>
<div class='controls'>
<label class='control-label'> Border </label>
<input class='input-large field' data-type="input" type='text' name='border' id='border' value ='1' />
<label class='control-label'> Columns </label>
<textarea class="field" data-type="textarea- split" style='min-height: 200px' id='columns'>Column1
Column2</textarea>
<hr/>
<button id="save" class='btn btn-info'>Save</button><button id="cancel" class='btn btn-danger'>Cancel</button>
</div>
</form>
" data-title="Table" data-trigger="manual" data-html="true"><!-- Table-->
<div class="control-group" id="tablediv">
<table id="table-0" class="draggable" name="table-0" border="1" style="width:100%">
<tbody><tr>
<th>Column1</th>
<th>Column2</th>
</tr>
</tbody></table>
</div></div></fieldset>
</div>
</body>
</html>
在我的 struts.xml 中
<action name="createreport" class="net.java.com.reports.CreateReport"
method="execute">
<result name="success">/createreport.jsp</result>
<result name="error">/error.jsp</result>
</action>
这就是我编码 html 脚本的方式。
encodeURIComponent($('#target').html());
我的代码缺少什么?
【问题讨论】:
标签: javascript java html jsp struts2