struts 2+kindeditorオンラインエディタ統合
struts 2でkindeditorでオンライン編集すると、アップロードファイルがアップロードに失敗する問題が発生します.すべてのリクエストがstruts 2にブロックされるため、この解決策はたくさんあります.以下はその1つです.
1、JSコードフラグメント
2、HTMLコード断片
3、新しいフィルター類を作って、一つのバッグでもいいです.
4、web.xmlの修正
完了します.
1、JSコードフラグメント
<script>
KindEditor.ready(function(K) {
var editor1 = K.create('textarea[name="content1"]', {
cssPath : '<%=basePath%>kindeditor-4.1.10/plugins/code/prettify.css',
uploadJson : '<%=basePath%>kindeditor-4.1.10/jsp/upload_json.jsp',
fileManagerJson : '<%=basePath%>kindeditor-4.1.10/jsp/file_manager_json.jsp',
allowFileManager : true,
afterCreate : function() {
var self = this;
K.ctrl(document, 13, function() {
self.sync();
document.forms['example'].submit();
});
K.ctrl(self.edit.doc, 13, function() {
self.sync();
document.forms['example'].submit();
});
}
});
prettyPrint();
});
2、HTMLコード断片
<tr>
<th scope="row" abbr="Model" class="spec" style="width: 300px;"><a style="color: fe8b0f">*</a> :</th>
<td>
<textarea name="content1"></textarea>
</td>
</tr>
3、新しいフィルター類を作って、一つのバッグでもいいです.
package util;
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter;
public class KindeditorUrlFilter extends StrutsPrepareAndExecuteFilter {
public void doFilter(ServletRequest req, ServletResponse res,FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
// url
String url = request.getServletPath();
if ("/kindeditor-4.1.10/jsp/file_manager_json.jsp".equals(url)) {
chain.doFilter(req, res);
}else if("/kindeditor-4.1.10/jsp/upload_json.jsp".equals(url)){
chain.doFilter(req, res);
}else{
//System.out.println(" ");
super.doFilter(req, res, chain);
}
}
}
4、web.xmlの修正
<filter>
<filter-name>struts2</filter-name>
<!--<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>-->
<!-- , , struts2 -->
<filter-class>util.KindeditorUrlFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
完了します.