mirror of
https://github.com/apache/struts.git
synced 2026-08-07 15:46:57 +00:00
WW-1800
* Add "compressed" and "baseRelativePath" attributes to the head tag on the Dojo plugin * Ignore inherited tag attributes on head tag git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@522094 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -28,28 +28,20 @@ Please do not edit it directly.
|
||||
<th align="left" valign="top"><h4>Description</h4></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">accesskey</td>
|
||||
<td align="left" valign="top">baseRelativePath</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">/struts/dojo</td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html accesskey attribute on rendered html element</td>
|
||||
<td align="left" valign="top">Context relative path of Dojo distribution folder</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssClass</td>
|
||||
<td align="left" valign="top">compressed</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">The css class to use for element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">cssStyle</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">The css style definitions for element ro use</td>
|
||||
<td align="left" valign="top">Use compressed version of dojo.js</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">debug</td>
|
||||
@@ -59,238 +51,6 @@ Please do not edit it directly.
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set to true to enable Dojo debug messages</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">disabled</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html disabled attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">id</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">id for referencing element. For UI and form tags it will be used as HTML id attribute</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">key</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the key (name, value, label) for this particular component</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">label</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Label expression used for rendering a element specific label</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">labelposition</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Define label position of form element (top/left)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">name</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">The name to set for element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">onblur</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top"> Set the html onblur attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">onchange</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html onchange attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">onclick</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html onclick attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">ondblclick</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html ondblclick attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">onfocus</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html onfocus attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">onkeydown</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html onkeydown attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">onkeypress</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html onkeypress attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">onkeyup</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html onkeyup attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">onmousedown</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html onmousedown attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">onmousemove</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html onmousemove attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">onmouseout</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html onmouseout attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">onmouseover</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html onmouseover attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">onmouseup</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html onmouseup attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">onselect</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html onselect attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">required</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">Boolean</td>
|
||||
<td align="left" valign="top">If set to true, the rendered element will indicate that input is required</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">requiredposition</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Define required position of required form element (left|right)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">tabindex</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html tabindex attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">template</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">The template (other than default) to use for rendering the element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">templateDir</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">The template directory.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">title</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the html title attribute on rendered html element</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">tooltip</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the tooltip of this particular component</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">tooltipConfig</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Set the tooltip configuration</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="left" valign="top">value</td>
|
||||
<td align="left" valign="top">false</td>
|
||||
<td align="left" valign="top"></td>
|
||||
<td align="left" valign="top">true</td>
|
||||
<td align="left" valign="top">String</td>
|
||||
<td align="left" valign="top">Preset the value of input element.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- END SNIPPET: tagattributes -->
|
||||
</body>
|
||||
|
||||
@@ -66,11 +66,14 @@ import com.opensymphony.xwork2.util.ValueStack;
|
||||
*/
|
||||
@StrutsTag(name="head", tldBodyContent="empty", tldTagClass="org.apache.struts2.dojo.views.jsp.ui.HeadTag",
|
||||
description="Render a chunk of HEAD for your HTML file")
|
||||
@StrutsTagSkipInheritance
|
||||
public class Head extends org.apache.struts2.components.Head {
|
||||
public static final String TEMPLATE = "head";
|
||||
|
||||
private boolean debug;
|
||||
|
||||
private String debug;
|
||||
private String compressed;
|
||||
private String baseRelativePath;
|
||||
|
||||
public Head(ValueStack stack, HttpServletRequest request, HttpServletResponse response) {
|
||||
super(stack, request, response);
|
||||
}
|
||||
@@ -81,8 +84,13 @@ public class Head extends org.apache.struts2.components.Head {
|
||||
|
||||
public void evaluateParams() {
|
||||
super.evaluateParams();
|
||||
|
||||
addParameter("debug", Boolean.valueOf(debug).toString());
|
||||
|
||||
if(this.debug != null)
|
||||
addParameter("debug", findValue(this.debug, Boolean.class));
|
||||
if(this.compressed != null)
|
||||
addParameter("compressed", findValue(this.compressed, Boolean.class));
|
||||
if(this.baseRelativePath != null)
|
||||
addParameter("baseRelativePath", findString(this.baseRelativePath));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -97,11 +105,21 @@ public class Head extends org.apache.struts2.components.Head {
|
||||
}
|
||||
|
||||
public boolean isDebug() {
|
||||
return debug;
|
||||
return debug != null && Boolean.parseBoolean(debug);
|
||||
}
|
||||
|
||||
@StrutsTagAttribute(description="Set to true to enable Dojo debug messages", defaultValue="false")
|
||||
public void setDebug(boolean debug) {
|
||||
public void setDebug(String debug) {
|
||||
this.debug = debug;
|
||||
}
|
||||
|
||||
@StrutsTagAttribute(description="Use compressed version of dojo.js", defaultValue="true")
|
||||
public void setCompressed(String compressed) {
|
||||
this.compressed = compressed;
|
||||
}
|
||||
|
||||
@StrutsTagAttribute(description="Context relative path of Dojo distribution folder", defaultValue="/struts/dojo")
|
||||
public void setBaseRelativePath(String baseRelativePath) {
|
||||
this.baseRelativePath = baseRelativePath;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,6 +37,8 @@ public class HeadTag extends AbstractUITag {
|
||||
private static final long serialVersionUID = 6876765769175246030L;
|
||||
|
||||
private String debug;
|
||||
private String compressed;
|
||||
private String baseRelativePath;
|
||||
|
||||
public Component getBean(ValueStack stack, HttpServletRequest req, HttpServletResponse res) {
|
||||
return new Head(stack, req, res);
|
||||
@@ -44,12 +46,22 @@ public class HeadTag extends AbstractUITag {
|
||||
|
||||
protected void populateParams() {
|
||||
super.populateParams();
|
||||
if (debug != null) {
|
||||
((Head) component).setDebug(Boolean.valueOf(debug).booleanValue());
|
||||
}
|
||||
|
||||
Head head = (Head) component;
|
||||
head.setDebug(debug);
|
||||
head.setCompressed(compressed);
|
||||
head.setBaseRelativePath(baseRelativePath);
|
||||
}
|
||||
|
||||
public void setDebug(String debug) {
|
||||
this.debug = debug;
|
||||
}
|
||||
|
||||
public void setBaseRelativePath(String baseRelativePath) {
|
||||
this.baseRelativePath = baseRelativePath;
|
||||
}
|
||||
|
||||
public void setCompressed(String compressed) {
|
||||
this.compressed = compressed;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,26 @@
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
// Dojo configuration
|
||||
djConfig = {
|
||||
baseRelativePath: "<@s.url includeParams='none' value='/struts/dojo' includeParams="none" encode='false'/>",
|
||||
isDebug: ${parameters.debug?default(false)?string},
|
||||
bindEncoding: "${parameters.encoding}",
|
||||
debugAtAllCosts: true // not needed, but allows the Venkman debugger to work with the includes
|
||||
};
|
||||
</script>
|
||||
<script language="JavaScript" type="text/javascript"
|
||||
src="<@s.url value='/struts/dojo/dojo.js' includeParams='none' encode='false' />"></script>
|
||||
|
||||
<#if parameters.compressed?default(true)>
|
||||
<#assign dojoFile="dojo.js">
|
||||
<#else>
|
||||
<#assign dojoFile="dojo.js.uncompressed.js">
|
||||
</#if>
|
||||
|
||||
<#if parameters.baseRelativePath?if_exists != "">
|
||||
<script language="JavaScript" type="text/javascript"
|
||||
src="<@s.url value='${parameters.baseRelativePath}/${dojoFile}' includeParams='none' encode='false' />"></script>
|
||||
<#else>
|
||||
<script language="JavaScript" type="text/javascript"
|
||||
src="<@s.url value='/struts/dojo/${dojoFile}' includeParams='none' encode='false' />"></script>
|
||||
</#if>
|
||||
|
||||
<script language="JavaScript" type="text/javascript"
|
||||
src="<@s.url value='/struts/ajax/dojoRequire.js' includeParams='none' encode='false' />"></script>
|
||||
<script language="JavaScript" type="text/javascript"
|
||||
|
||||
@@ -34,6 +34,9 @@ public class HeadTagTest extends AbstractUITagTest {
|
||||
HeadTag tag = new HeadTag();
|
||||
tag.setPageContext(pageContext);
|
||||
|
||||
tag.setDebug("true");
|
||||
tag.setCompressed("false");
|
||||
tag.setBaseRelativePath("/path");
|
||||
tag.doStartTag();
|
||||
tag.doEndTag();
|
||||
|
||||
|
||||
+2
-3
@@ -1,14 +1,13 @@
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
// Dojo configuration
|
||||
djConfig={
|
||||
baseRelativePath: "/struts/dojo",
|
||||
isDebug: false,
|
||||
isDebug: true,
|
||||
bindEncoding: "ISO-8859-1",
|
||||
debugAtAllCosts: true // not needed, but allows the Venkman debugger to work with the includes
|
||||
};
|
||||
</script>
|
||||
|
||||
<script language="JavaScript" type="text/javascript" src="/struts/dojo/dojo.js">
|
||||
<script language="JavaScript" type="text/javascript" src="/path/dojo.js.uncompressed.js">
|
||||
</script>
|
||||
|
||||
<script language="JavaScript" type="text/javascript" src="/struts/ajax/dojoRequire.js">
|
||||
|
||||
Reference in New Issue
Block a user