我将template.jsp作为主文件,其中包含了<tiles:insertAttribute name="uploadContainer" />
等各种图块。
如果我将Dropzone(使用dropzonejs.com库)放入立即加载的.jsp中,它确实有用。没问题。
现在我想把这个Dropzone放在一个稍后加载的tile中,点击 - 并且Dropzone不再起作用,它甚至都没有被激活。
我想知道它是否是dropzone.js的问题,它在dropzone-Form甚至存在之前包含在template.jsp中,但问题仍然是相同的,如果我在tile中包含dropzone.js。
这必须是一个简单的错误,但我根本就没有看到它。 ._。
template.jsp:
<script type="text/javascript" src="<c:url value="/js/dropzone.js"/>"></script>
和
<div id="uploadBox">
<div id="uploadContainer">
<tiles:insertAttribute name="uploadContainer" />
</div>
</div>
pages.xml中
<tiles-definitions>
<definition name="welcome" template="/WEB-INF/jsp/template.jsp">
<put-attribute name="uploadContainer" value="/fileUpload" />
</definition>
</tiles-definitions>
fileUpload.jsp
<div id="uploadContainer">
<div class="innerContentBoxItem">
<form:form method="POST" action="uploadFile" class="dropzone"
id="my-awesome-dropzone" commandName="fileUploadForm"
enctype="multipart/form-data">
<input type="hidden" name="label" value="test" />
</form:form>
</div>
</div>
<script type="text/javascript">
Dropzone.options.myAwesomeDropzone = {
//...
};
</script>
上面你看到了工作版。我现在的主要区别是,我想这样做:
pages.xml中
<tiles-definitions>
<definition name="welcome" template="/WEB-INF/jsp/template.jsp">
<put-attribute name="uploadContainer" value="" />
</definition>
</tiles-definitions>
并通过单击元素加载新内容(包括Dropzone)。 结果是:加载了新内容,但Dropzone保持不活动状态。
有什么想法吗?