org.zkoss.web.util.resource.dir
Property:
org.zkoss.web.util.resource.dir
Default: none [Since 5.0.0]
It specifies a directory, where ZK will load the so-called Class-Web Resources (CWR), in addition to the class path. CWR includes JavaScript files, CSS files, and other resources that are specified in the form of ~./xxx.
By default, ZK only searches the class path for the required CWR. By specifying a directory here, ZK will search the directory first and then the class path. It implies a developer can override the default behavior by providing a file with the same name.
Notice: don't put security sensitive files in the directory specified here, since they can be accessed externally.
For example, assume we have a JavaScript package called foo.great and we want to put it to WEB-INF/cwr
. Then, we have to specify the following in WEB-INF/zk.xml:
<library-property>
<name>org.zkoss.web.util.resource.dir</name>
<value>/WEB-INF/cwr</value>
</library-property>
Then, you can place zk.wpd and required JavaScript files under the WEB-INF/cwr/js/foo/great directory.
more details
For a normal scenario , maybe overwriting default Textbox behavior with allowkeys or change some behavior, in this case you just want to update Textbox js file in package zul.inp ,so you need not to overwrite all the files.
you just setup the config .
<library-property>
<name>org.zkoss.web.util.resource.dir</name>
<value>/WEB-INF/cwr</value>
</library-property>
And then place the modified version of Textbox.js in /WEB-INF/cwr/js/zul/inp/Textbox.js .
You need not to overwrite the wpd and the other files in zul.inp , ZK will find the old files and work correctly.
As same as before, only if you want to change the wpd script list , you need to overwrite the wpd files.