我正在使用JSP页面和Javascript开发一个接口。我的项目结构如下所示。
在我的主要JSP页面(veditor.jsp
)下,我有一个属性面板部门。
veditor.jsp
...
<!--Container/Canvas-->
<div id="container" class="container">
</div>
<!--Properties Panel-->
<div style="float: left" class="property" id="propertypane">
<h1 class="toolbox-titlex" id="toolbox-titlex">Properties</h1>
<iframe class = "panel" id="lot"></iframe>
</div>
...
在此,我需要使用selectClauseForm.jsp
Javascript在“属性”面板中调用veditor.jsp
的iframe中的veditor.js
页面。
veditor.js
if (dropElem == "stream ui-draggable") {
var newAgent = $('<div>').attr('id', i).addClass('streamdrop');
var elemType = "table";
$("#container").addClass("disabledbutton");
$("#toolbox").addClass("disabledbutton");
$('#container').append(newAgent);
callSelectClauseForm();
}
function callSelectClauseForm()
{
alert("Called before");
document.getElementById("lot").src = 'selectClauseForm.jsp';
alert("Called after");
}
我在callSelectForm()
方法中获取了这两个警报,但是“属性”面板未加载,并且收到以下错误。
如上所示,在调用createTableForm(...)
方法时,我需要调用selectClauseForm.jsp
中iframe中的veditor.jsp
。
这是因为src
位置我的路径错了吗?
关于如何使用Javascript在iframe中加载jsp的任何建议都将受到高度赞赏,因为我是新手。
答案 0 :(得分:3)
您可以按照URL进行操作。 哪个加载jsp文件并在div中添加响应内容。您可以在iframe中实现相同的内容。
答案 1 :(得分:0)
您可以按如下方式为此jsp进行控制器映射,
@Controller
@RequestMapping(value = "clause")
public class ClauseController {
@RequestMapping(value="selectClause")
public String selectClause(ModelMap model) {
return "selectClauseForm.jsp";
}
}
然后你可以调用iframe src中的url,
function callSelectClauseForm() {
alert("Called before");
document.getElementById("lot").src = 'clause/selectClause';
alert("Called after");
}