openlaszlo学习笔记(四)

OPENLASZLO与STRUTS的结合:

      1.打开openlaszlo-3.3.3-servlet文件夹,里面有两个重要的文件夹:
Lps是laszlo应用的标准组件库,而WEB-INF文件夹是编译服务器所在的目录。
第一步:拷贝标准组件包
将当前这个lps文件夹拷贝到你的struts应用上下文的目录里,比如你在webapps下面有个struts-blank目录,就将lps文件夹直接拷贝到struts-blank中去;
第二步:拷贝WEB-INF中的jar包文件和lps服务器
返回openlaslzo-3.3.3-servlet文件夹,进入WEB-INF文件夹中,有三个重要部分:
一个是Lib文件夹,这个文件夹中的jar包要全部拷贝到你的lib文件夹下去,如果有重复的不要覆盖掉;
另一个是lps,它和外面的lps是不一样的,要拷到你的WEB-INF下面;
最后一个是web.xml文件,用xml编辑器打开,里面的结构如下:
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<!-- * X_LZ_COPYRIGHT_BEGIN ***************************************************
* Copyright 2001-2005 Laszlo Systems, Inc. All Rights Reserved. *
* Use is subject to license terms. *
* X_LZ_COPYRIGHT_END ****************************************************** -->
<display-name>OpenLaszlo Server</display-name>
<description/>
<servlet>
<servlet-name>LPS</servlet-name>
<servlet-class>org.openlaszlo.servlets.LZServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>LZViewer</servlet-name>
<servlet-class>org.openlaszlo.servlets.LZViewer</servlet-class>
</servlet>
<servlet>
<servlet-name>AuthenticationServlet</servlet-name>
<servlet-class>AuthenticationServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>AxisServlet</servlet-name>
<servlet-class>
org.apache.axis.transport.http.AxisServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>LPS</servlet-name>
<url-pattern>*.lzx</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>LPS</servlet-name>
<url-pattern>*.lzo</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>LZViewer</servlet-name>
<url-pattern>/LZViewer</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AuthenticationServlet</servlet-name>
<url-pattern>/AuthenticationServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>AxisServlet</servlet-name>
<url-pattern>*.jws</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
第三步:拷贝servlet定义与映射内容
打开你的web.xml文件,将前面打开的web.xml文件中的第16行到第36行,拷贝到你的web.xml文件中的servlet定义区中,然后删除AuthenticationServlet定义,当然也可以不删除,但是需要额外的从classes中拷AuthenticationServlet.class,比较麻烦,所以就省略了;
再拷贝web.xml文件中的38到61行,到你的servlet-mapping定义区中,相应的把53到56注释掉,你的web.xml中应该有welcome-file-list了,所以就不用拷了。
保存你的web.xml文件,这样你的laslzo-struts环境就配好了,可以做测试了。
2. 测试laslzo-struts配置正确
将openlaszlo-3.3.3-servlet中的my-apps目录拷到struts-blank中,重启tomcat,在浏览器中键入:
http://localhost:8080/struts-blank/my-apps/copy-of-hello.lzx?lzt=html
如果出现和第一次请求浏览器时一样的结果,hello Laszlo文字,那么表示struts与laslzo整合成功了。
3. 建立第一个struts-laslzo应用
建立一个action的类,名叫WelcomeAction类包路径:com.laszlo.demo.LaszloDispatchAction
写一个action的方法:
public ActionForward welcomeFeedback(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response)throws Exception{
String userName = request.getParameter("userName");
String feedBackInfo = "welcome to laslzo:"+userName;
request.setAttribute("result","<root info=\""+feedBackInfo+"\">");
return mapping.findForward("loginSuccess");
}
写helloStruts.lzx代码放在my-apps下面:
<canvas debug="true" fontsize="12">
<dataset name="welcomedata" src="WelcomeAction.do" type="http" request="false"/>
<datapointer name="welcompt" xpath="welcomedata:/*">
<method event="ondata"><![CDATA[
var info = this.xpathQuery('@info');
Debug.write(info);
]]></method>
</datapointer>
<edittext name="getWelcome" x="10" y="10" width="100"/>
<button name="sendRequest" x="10" y="40" width="40">
<handler name="onclick">
welcomedata.setQueryParam('method','welcomeFeedback');
welcomedata.setQueryParam('userName',parent.getWelcome.getText());
welcomedata.doRequest();
Debug.write(“loading…”);
</handler>
</button>
</canvas>
在struts-config.xml中写action定义
<action path="/my-apps/welcomeAction"
type="com.laszlo.demo.LaszloDispatchAction"
scope="request"
validate="false"
parameter="method" >
<forward name="loginSuccess" path="/my-apps/jspdispatchaction.jsp"></forward>
</action>
最后写jspdispatchaction.jsp
<%@ page contentType="text/xml;charset=UTF-8" language="java" %>
<%
String kpiTreeResult = (String) request.getAttribute("result");
out.println(kpiTreeResult);
%>
编译action,重起tomcat
在浏览器访问:
http://localhost:8080/struts-blank/my-apps/helloStruts.lzx?lzt=html
输入名字,点击按钮提交,如果在调试窗口出现问候welcome to laslzo:yourname,就表示成功了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值