Browse Source

插件问题

master
richie 8 years ago
parent
commit
abf7111f43
  1. 4
      plugin.xml
  2. 13
      src/com/fr/plugin/form/widget/core/RHIframeAttr.java
  3. 6
      src/com/fr/plugin/form/widget/core/URLSource.java

4
plugin.xml

@ -2,7 +2,7 @@
<id>com.fr.solution.plugin.form.widget.rh.iframe</id>
<name><![CDATA[网页框控件]]></name>
<active>yes</active>
<version>5.0</version>
<version>5.2</version>
<env-version>8.0</env-version>
<jartime>2016-06-30</jartime>
<vendor email="solution@finereport.com">solution</vendor>
@ -14,6 +14,8 @@
<p>[2016-03-28]在填报中也可以使用</p>
<p>[2016-04-19]修复这个插件单独从tomcat启动时无法使用的问题</p>
<p>[2016-06-30]增加插件可以联动的功能</p>
<p>[2016-07-29]修复不设置网页框地址时会导致整个表单无法展示的BUG</p>
<p>[2016-07-29]网页地址不加http的时候自动加上</p>
]]></change-notes>
<extra-core>
<LocaleFinder class="com.fr.plugin.form.widget.locale.LocaleFinder"/>

13
src/com/fr/plugin/form/widget/core/RHIframeAttr.java

@ -48,6 +48,9 @@ public class RHIframeAttr implements XMLable, DependenceProvider {
@Override
public String[] dependence(CalculatorProvider ca) {
if (source == null) {
return ArrayUtils.EMPTY_STRING_ARRAY;
}
List<String> data = new ArrayList<String>();
data.addAll(Arrays.asList(source.dependence(ca)));
if (parameters != null) {
@ -61,11 +64,11 @@ public class RHIframeAttr implements XMLable, DependenceProvider {
public void mixConfig(JSONObject jo, Calculator c, HttpServletRequest req) throws JSONException {
if (source != null) {
jo.put("src", source.getCalculatedUrl(c, req));
}
String[] dependence = dependence(c);
if (!ArrayUtils.isEmpty(dependence)) {
jo.put("dependence", dependence);
jo.put("valueDependence", dependence);
String[] dependence = dependence(c);
if (!ArrayUtils.isEmpty(dependence)) {
jo.put("dependence", dependence);
jo.put("valueDependence", dependence);
}
}
}

6
src/com/fr/plugin/form/widget/core/URLSource.java

@ -39,7 +39,11 @@ public class URLSource extends RHIframeSource {
@Override
public String getCalculatedUrl(Calculator calculator, HttpServletRequest req) {
try {
return TemplateUtils.render(url, calculator);
String result = TemplateUtils.render(url, calculator);
if (result != null && !result.toLowerCase().startsWith("http")) {
result = "http://" + result;
}
return result;
} catch (Exception e) {
return null;
}

Loading…
Cancel
Save