Thank you VERY much. That works like a champ... except I keep getting
an exception in the log, though it doesn't affect the UI. Here's the
way I ran with your suggestions. First, the tml:
<t:beaneditform t:id="beanEditForm" object="propertiesBean"
submitlabel="message:save-label">
<t:parameter name="type">
<t:label for="type"/>
<t:select t:id="type" value="propertiesBean.type"
t:mixins="t5components/OnEvent" event="change"
onCompleteCallback="typeChanged"/>
</t:parameter>
<t:parameter name="port">
<t:label for="port"/>
<t:textfield t:id="port" value="propertiesBean.port"/>
</t:parameter>
</t:beaneditform>
<script type="text/javascript">
function typeChanged(response) {
$('port').value = response;
}
</script>
Next, the page java:
StreamResponse onChangeFromType(String typeName) {
DatabaseType type = DatabaseType.valueOf(typeName);
return new TextStreamResponse("text/plain",
String.valueOf(type.getDefaultPort()));
}
And lastly, the exception:
java.io.IOException: The filename, directory name, or volume label
syntax is incorrect
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:395)
at java.io.File.getCanonicalPath(File.java:531)
at org.mortbay.util.FileResource.getAlias(FileResource.java:176)
at org.mortbay.http.ResourceCache.getResource(ResourceCache.java:251)
at org.mortbay.http.HttpContext.getResource(HttpContext.java:2118)
at
org.mortbay.jetty.servlet.WebApplicationContext.getResource(WebApplicationContext.java:785)
at
org.mortbay.jetty.servlet.ServletHandler.getResource(ServletHandler.java:735)
at
org.mortbay.jetty.servlet.ServletHandler$Context.getResource(ServletHandler.java:1082)
at
org.apache.tapestry.internal.services.ContextImpl.getResource(ContextImpl.java:43)
at $Context_119abd0bad3.getResource($Context_119abd0bad3.java)
at $Context_119abd0ba6e.getResource($Context_119abd0ba6e.java)
at
org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:56)
at $RequestHandler_119abd0ba72.service($RequestHandler_119abd0ba72.java)
at
nu.localhost.tapestry.acegi.services.internal.RequestFilterWrapper$1.doFilter(RequestFilterWrapper.java:60)
at
nu.localhost.tapestry.acegi.services.internal.AcegiExceptionTranslationFilter.doFilter(AcegiExceptionTranslationFilter.java:67)
at
nu.localhost.tapestry.acegi.services.internal.RequestFilterWrapper.service(RequestFilterWrapper.java:54)
with lots more frames below. Using the debugger, I find that Jetty is
getting a request for a URL that looks like this:
/myapp/admin/database.type:change/MYSQL_5
which it's passing to File.getCanonicalPath as this:
C:\ResearchWorkspace\myapp-tapestry5\src\main\webapp\admin\database.type:change\MYSQL_5
which it doesn't like. Any ideas? MYSQL_5 is, of course, a value for
my database-type enum.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]