Jsp 如何将值从displaytag传递到新窗口并显示它?
我试过了Jsp 如何将值从displaytag传递到新窗口并显示它?,jsp,struts,displaytag,Jsp,Struts,Displaytag,我试过了 <display:table name="jobTrackerCol" pagesize="20" sort="list" id="data" requestURI="" class="tablelist"> <display:column title="Request Id" sortable="true" ><%-- property="request_id" > --%> <
<display:table name="jobTrackerCol" pagesize="20" sort="list" id="data" requestURI="" class="tablelist">
<display:column title="Request Id" sortable="true" ><%-- property="request_id" > --%>
<a href=# onClick="popupSmallWindow('${data.query}');">${data.request_id}</a>
</display:column>
</display:table>
--%>
javascript
function popupSmallWindow(query){
//window.location="http://www.continue.com";
myString = query.replace(/[\r\n]/g, "<br />");
alert(myString);
}
函数popupmallwindow(查询){
//window.location=”http://www.continue.com";
myString=query.replace(/[\r\n]/g,“
”);
警报(myString);
}
${data.query}中的值是长sql查询
当我单击链接时,我想在“警报”或“新建”窗口中显示该查询。请在这方面指导我。首先,您需要退出该查询。事实上,如果你问的是
select a.id from a where a.name = 'doe'
生成的HTML代码将是:
onClick="popupSmallWindow('select a.id from a where a.name = 'doe'');"
这显然会导致问题,因为由于未替换的单引号,JS代码将无效
您可以使用ApacheCommonsLang来实现这一点
现在,警报框不显示HTML。因此,如果要在警报框中显示,则不能将\r\n
转换为
。让它们保持原样,警报框将显示查询
如果您想要HTML支持,可以使用jQueryUI来显示SQL查询。如果这样做,则需要将\r\n
替换为
。但是您可以在Java中这样做,并将查询放在一个隐藏的div中,jQueryUI对话框将使用该div作为其对话框的内容