问题:
Laszlo服务器不论是2.x还是3.0beta都无法动态加载资源,而LPS服务器本身是支持动态加载的,否则也不叫服务器了!

测试:
下面是个简单的动态加载图像的demo
关于Laszlo(2.x 3.0)无法动态加载资源的问题<?xml version="1.0" encoding="utf-8"?>
关于Laszlo(2.x 3.0)无法动态加载资源的问题
关于Laszlo(2.x 3.0)无法动态加载资源的问题
<canvas debug="true">
关于Laszlo(2.x 3.0)无法动态加载资源的问题    
<debug x="150" />
关于Laszlo(2.x 3.0)无法动态加载资源的问题    
<simplelayout axis="y" spacing="10" />
关于Laszlo(2.x 3.0)无法动态加载资源的问题        
<button>Call setSource
关于Laszlo(2.x 3.0)无法动态加载资源的问题            
<method event="onclick">
关于Laszlo(2.x 3.0)无法动态加载资源的问题            foo.setSource( 'http://localhost:8080/lps-3.0b1/test/test.jpg' );
关于Laszlo(2.x 3.0)无法动态加载资源的问题            
</method>
关于Laszlo(2.x 3.0)无法动态加载资源的问题        
</button>
关于Laszlo(2.x 3.0)无法动态加载资源的问题    
<view id="foo" />
关于Laszlo(2.x 3.0)无法动态加载资源的问题
</canvas>

测试结果:
运行点击按钮后,可以触发button的onclick事件,设置view的资源为uri上的一个图片。结果却是无法正确显示图片,打开debug窗口显示错误为:
关于Laszlo(2.x 3.0)无法动态加载资源的问题string(4444)#0| java.text.ParseException:
关于Laszlo(2.x 3.0)无法动态加载资源的问题    Unparseable date: "Tue, 
21 Dec 2004 06:42:22 GMT" :
关于Laszlo(2.x 3.0)无法动态加载资源的问题    Exception stack: org.openlaszlo.utils.ChainedException: 
关于Laszlo(2.x 3.0)无法动态加载资源的问题    java.
text.ParseException: 
关于Laszlo(2.x 3.0)无法动态加载资源的问题    Unparseable date: "Tue, 
21 Dec 2004 06:42:22 GMT"  
关于Laszlo(2.x 3.0)无法动态加载资源的问题    at org.openlaszlo.utils.LZHttpUtils.
getDate(LZHttpUtils.java:128)
关于Laszlo(2.x 3.0)无法动态加载资源的问题    at org.openlaszlo.data.HTTPDataSource$HttpData.lastModified(HTTPDataSource.java:
497)
关于Laszlo(2.x 3.0)无法动态加载资源的问题    at org.openlaszlo.cache.RequestCache.getItemStreamAsSWF(RequestCache.java:
320)
关于Laszlo(2.x 3.0)无法动态加载资源的问题    at org.openlaszlo.cache.RequestCache.getAsSWF(RequestCache.java:
128)
关于Laszlo(2.x 3.0)无法动态加载资源的问题    at org.openlaszlo.servlets.responders.ResponderCache.respondImpl(ResponderCache.java:
358)
关于Laszlo(2.x 3.0)无法动态加载资源的问题    at org.openlaszlo.servlets.responders.Responder.respond(Responder.java:
220)
关于Laszlo(2.x 3.0)无法动态加载资源的问题    at org.openlaszlo.servlets.LZServlet._doGet(LZServlet.java:
308)
关于Laszlo(2.x 3.0)无法动态加载资源的问题    at org.openlaszlo.servlets.LZServlet.doGet(LZServlet.java:
244)
关于Laszlo(2.x 3.0)无法动态加载资源的问题    at javax.servlet.http.HttpServlet.service(HttpServlet.java:
689)
关于Laszlo(2.x 3.0)无法动态加载资源的问题    at javax.servlet.http.HttpServlet.service(HttpServlet.java:
802)
关于Laszlo(2.x 3.0)无法动态加载资源的问题    at org.apache.catalina.core.ApplicationFilterChain.internalDoFi关于Laszlo(2.x 3.0)无法动态加载资源的问题
这里提示为string字符串解释错误,看来应该是uri的字符串解释失败导致view无法动态加载资源。上面错误说明是 LZHttpUtils.java中抛出的异常
*
关于Laszlo(2.x 3.0)无法动态加载资源的问题* Convert an HTTP Date String to a long
关于Laszlo(2.x 3.0)无法动态加载资源的问题*/
{
{
关于Laszlo(2.x 3.0)无法动态加载资源的问题SimpleDateFormat dateFormatter 
= getGMTFormatter();
关于Laszlo(2.x 3.0)无法动态加载资源的问题
return dateFormatter.parse(s).getTime();
{
关于Laszlo(2.x 3.0)无法动态加载资源的问题
throw new ChainedException(e);
关于Laszlo(2.x 3.0)无法动态加载资源的问题}

关于Laszlo(2.x 3.0)无法动态加载资源的问题}

关于Laszlo(2.x 3.0)无法动态加载资源的问题
*
关于Laszlo(2.x 3.0)无法动态加载资源的问题* Return a formatter for HTTP date headers
关于Laszlo(2.x 3.0)无法动态加载资源的问题
*/
{
关于Laszlo(2.x 3.0)无法动态加载资源的问题SimpleDateFormat dateFormatter 
=
关于Laszlo(2.x 3.0)无法动态加载资源的问题
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
关于Laszlo(2.x 3.0)无法动态加载资源的问题TimeZone tz 
= TimeZone.getTimeZone("GMT");
关于Laszlo(2.x 3.0)无法动态加载资源的问题dateFormatter.setTimeZone(tz);
关于Laszlo(2.x 3.0)无法动态加载资源的问题
return dateFormatter;
关于Laszlo(2.x 3.0)无法动态加载资源的问题}

结论:
也就是说应该是服务器区域设置不兼容了。我运行Tomcat的服务器是Windows2000区域设置当然是中文了,现在改成en-us,并重新启动Tomcat服务器后,上面的demo测试代码就能正常工作了。
看来Laszlo的国际化支持还是很薄弱,在LaszloSystem的在线技术论坛中这个区域的问题在2003年已经有人提出来了,但到现在2005年了还一直未予以处理,导致技术论坛上还有人骂LaszloSystem的开发团队不负责任。

测试环境配置:
PIII 667  384M
Windows2000 Server SP4
JDK 5.0
Tomcat 5.54
LPS 3.0b1

相关文章:

  • 2021-07-28
  • 2021-11-25
  • 2021-06-15
  • 2021-08-31
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-15
  • 2021-08-02
  • 2022-01-05
  • 2022-02-04
  • 2021-09-10
  • 2022-12-23
  • 2021-09-15
相关资源
相似解决方案