📄 includefield.java
字号:
//Source file:
//C:\\Java\\workspace\\SmartWeb3\\src\\com\\cyberway\\dynaform\\form\\ejb\\InputField.java
package cn.myapps.core.dynaform.form.ejb;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import cn.myapps.base.action.ParamsTable;
import cn.myapps.base.dao.DataPackage;
import cn.myapps.core.dynaform.PermissionType;
import cn.myapps.core.dynaform.document.ejb.Document;
import cn.myapps.core.dynaform.document.ejb.DocumentProcess;
import cn.myapps.core.dynaform.view.ejb.Column;
import cn.myapps.core.dynaform.view.ejb.View;
import cn.myapps.core.dynaform.view.ejb.ViewProcess;
import cn.myapps.core.macro.runner.JavaScriptRunner;
import cn.myapps.core.page.ejb.Page;
import cn.myapps.core.page.ejb.PageProcess;
import cn.myapps.core.user.action.WebUser;
import cn.myapps.util.Debug;
import cn.myapps.util.ProcessFactory;
import cn.myapps.util.StringUtil;
public class IncludeField extends FormField {
public static final String INCLUDE_TYPE_VIEW = "0";
public static final String INCLUDE_TYPE_PAGE = "1";
protected String includeType;
protected boolean integratePage;
/**
* @roseuid 41ECB66E012A
*/
public IncludeField() {
}
/**
* @return boolean
* @roseuid 41ECB66E013E
*/
public ValidateMessage validate(JavaScriptRunner bsf, Document doc)
throws Exception {
return null;
}
public String getPageid(ParamsTable params, WebUser user,
JavaScriptRunner runner, Document doc) {
String valueScript = this.getValueScript();
if (valueScript != null && valueScript.trim().length() > 0) {
try {
if (valueScript != null && valueScript.trim().length() > 0) {
Object result = runner.run(StringUtil
.dencodeHTML(valueScript));
if (result instanceof String) {
return (String) result;
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
public String getViewid(ParamsTable params, WebUser user,
JavaScriptRunner runner, Document doc) {
View view = null;
String valueScript = this.getValueScript();
if (valueScript != null && valueScript.trim().length() > 0) {
String viewid = null;
try {
if (valueScript != null && valueScript.trim().length() > 0) {
Object result = runner.run(StringUtil
.dencodeHTML(valueScript));
if (result instanceof String) {
return (String) result;
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
/**
* @param doc
* @return java.lang.String
* @throws Exception
* @roseuid 41ECB66E015C
*/
public String toHtmlTxt(ParamsTable params, WebUser user,
JavaScriptRunner runner, Document doc) throws Exception {// formģʽ
StringBuffer html = new StringBuffer();
int displayType = getDisplayType(runner, doc);
if (includeType == null || includeType.equals(INCLUDE_TYPE_VIEW)) {
try {
String viewid = getViewid(params, user, runner, doc);
String editmode = "true";
if (displayType == PermissionType.MODIFY) {
} else if (displayType == PermissionType.DISABLED) {
editmode = "false";
}
html
.append("<iframe height='100%' width='100%' style='overflow:auto' frameborder='0' ");
html.append(" src='");
html.append(params.getContextPath()
+ "/core/dynaform/view/displayView.action?_viewid=");
html.append(viewid);
if (doc.getId() != null && doc.getId().trim().length() > 0) {
html.append("&isedit=");
html.append(editmode);
html.append("&parentid=");
html.append(doc.getId());
}
html.append("&divid=");
html.append(this.getName() + "_divid");
if (this.isRefreshOnChanged()) {
html.append("&refreshparent=true");
}
html.append("' ");
// html.append(toOtherpropsHtml());
if (this.isRefreshOnChanged()) {
html.append(" onload='dy_refresh(\"" + this.getName()
+ "\")'");
}
html.append("></iframe>");
} catch (Exception e) {
Debug.println(e.getMessage());
e.printStackTrace();
}
} else if (includeType.equals(INCLUDE_TYPE_PAGE)) {
try {
String pageid = getPageid(params, user, runner, doc);
PageProcess pp = (PageProcess) ProcessFactory
.createProcess(PageProcess.class);
Page page = (Page) pp.doView(pageid);
if (page != null) {
html
.append(page.toHtml(doc, params, user,
new ArrayList()));
}
} catch (Exception e) {
Debug.println(e.getMessage());
e.printStackTrace();
}
}
return html.toString();
}
public String toHtmlTxt(ParamsTable params, WebUser user,
JavaScriptRunner runner) {
DocumentProcess dp = null;
StringBuffer html = new StringBuffer();
View view = null;
try {
dp = (DocumentProcess) ProcessFactory
.createProcess(DocumentProcess.class);
ViewProcess vp = (ViewProcess) ProcessFactory
.createProcess(ViewProcess.class);
String viewid = getViewid(params, user, runner, null);
view = (View) vp.doView(viewid);
} catch (Exception e) {
System.out.println("Error:Couldn't get the View ");
e.printStackTrace();
}
if (view != null) {
html
.append("<table width='100%' class='display_view-table' pageid="
+ getId() + ">");
html.append("<tr>");
Collection columns = view.getColumns();
for (Iterator iter = columns.iterator(); iter.hasNext();) {
Column clm = (Column) iter.next();
html
.append(
"<td class='column-head2' style='white-space:nowrap;'")
.append(
clm.getWidth() != null
&& clm.getWidth().trim().length() > 0 ? " width='"
+ clm.getWidth() + "'"
: "");
html.append(">");
html.append(clm.getName());
html.append("</td>");
}
html.append("</tr>");
String filterScript = view.getFilterScript();
Object result;
try {
result = runner.run(filterScript);
Collection errors = new ArrayList();
if (result != null && result instanceof String) {
String dql = (String) result;
String parentid = params.getParameterAsString("_docid");
if (parentid != null && parentid.trim().length() > 0) {
dql = "(" + dql + ") and ($parent.$id='" + parentid
+ "')";
}
DataPackage datas = dp.queryByDQL(dql, user
.getApplicationid());
if (datas != null) {
if (datas.datas == null || datas.datas.size() == 0) {
return "";
} else {
for (Iterator iter = datas.datas.iterator(); iter
.hasNext();) {
Document doc = (Document) iter.next();
runner.initBSFManager(doc, params, user,
errors, user.getApplicationid());
html.append("<tr>");
for (Iterator iter2 = columns.iterator(); iter2
.hasNext();) {
Column col = (Column) iter2.next();
Object result2 = "";
if (col.getType() != null
&& col.getType().equals(
Column.COLUMN_TYPE_SCRIPT)) {
result2 = runner.run(col
.getValueScript());
} else if (col.getType() != null
&& col.getType().equals(
Column.COLUMN_TYPE_FIELD)) {
result2 = doc.getItemValueAsString(col
.getFieldName());
}
// html
// .append("<a href='"
// + params.getContextPath()
// + "/core/dynaform/document/view.action");
// html.append("?_docid=" + doc.getId());
// html.append("&formid=" +
// doc.getFormid());
// html.append("&_currpage="
// + datas.getPageNo());
// html.append("&_pagelines="
// + datas.getLinesPerPage());
// html.append("&_rowcount="
// + datas.getRowCount());
// html.append("&_backURL="
// + params.getContextPath()
// + "/portal/welcome.jsp");
// html.append("'>");
// html.append("</a>");
html
.append("<td class='column-head' style='white-space:nowrap;'>");
html.append(result2 != null ? result2 : "");
html.append("</td>");
}
html.append("</tr>");
}
}
}
}
html.append("</table>");
} catch (Exception e) {
e.printStackTrace();
}
}
return html.toString();
}
public String toPrintHtmlTxt(ParamsTable params, WebUser user,
JavaScriptRunner runner, Document doc) throws Exception {
StringBuffer html = new StringBuffer();
View view = null;
try {
ViewProcess vp = (ViewProcess) ProcessFactory
.createProcess(ViewProcess.class);
String viewid = getViewid(params, user, runner, null);
view = (View) vp.doView(viewid);
} catch (Exception e) {
System.out.println("Error:Couldn't get the View ");
e.printStackTrace();
}
if (view != null) {
html.append("<link rel=\"stylesheet\"");
html.append(" href=\"" + params.getContextPath()
+ "/resource/css/style.jsp?styleid="
+ view.getStyle().getId() + "\"/>");
}
html.append(toHtmlTxt(params, user, runner));
return html.toString();
}
public String toTemplate() {
StringBuffer template = new StringBuffer();
template.append("<span'");
template.append(" className='" + this.getClass().getName() + "'");
template.append(" id='" + getId() + "'");
template.append(" name='" + getName() + "'");
template.append(" formid='" + getFormid() + "'");
template.append(" discript='" + getDiscript() + "'");
template.append(" hiddenScript='" + getHiddenScript() + "'");
template.append(" hiddenPrintScript='" + getHiddenPrintScript() + "'");
template.append(" refreshOnChanged='" + isRefreshOnChanged() + "'");
template.append(" validateRule='" + getValidateRule() + "'");
template.append(" valueScript='" + getValueScript() + "'");
template.append("/>");
return template.toString();
}
public static void main(String[] args) {
long l = 0;
}
public boolean isIntegratePage() {
return integratePage;
}
public void setIntegratePage(boolean integratePage) {
this.integratePage = integratePage;
}
public String getIncludeType() {
return includeType;
}
public void setIncludeType(String includeType) {
this.includeType = includeType;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -