1、首先在*.lzx文件中需要加上:<?xml version="1.0" encoding="GBK"?>,这样如果*.lzx中的中文就可以正确的显示,比如Button的标签等。
2、将界面上的数据发送至服务器,服务器端的JSP文件应该加上: <%@ page import="java.util.*" %> <%@ page contentType="text/xml; charset=GBK" %>
然后对字符串进行如下格式转换: String str = request.getParameter("username"); byte p[] = str.getBytes("8859_1"); String username = new String(p, 0, p.length, "UTF-8"); System.out.println("username : " + username);
3、数据绑定: a、利用xml数据文件绑定数据,则XML文件格式如下: <?xml version="1.0" encoding="GBK"?> <menus> <menu>english</menu> <menu>中文</menu> </menus> b、利用JSP绑定数据,则JSP文件如下: <%@ page import="java.util.*" %> <%@ page contentType="text/xml; charset=GBK" %> <% String username1 = "english"; String username2 = "中文";
byte p[] = username2.getBytes("UTF-8"); username2 = new String(p, 0, p.length, "GBK");
StringBuffer str = new StringBuffer(); str.append("<menus>"); str.append("<menu>" + username1 + "</menu>"); str.append("<menu>" + username2 + "</menu>"); str.append("</menus>");
out.println(str.toString()); %> 则*.lzx文件可以正确显示中文。
4、将界面上的数据再回传客户端显示,如 lps-3.0\examples\components 目录下的form_example.lzx和echo.jsp例子。 则需进行如下改动: a、在form-example.lzx文件第一行添加 <?xml version="1.0" encoding="GBK"?> b、修改echo.jsp的第10行为 <%@ page contentType="text/xml; charset=GBK" %> 修改echo.jsp的第25行为 String ustr = new String(p, 0, p.length, "GBK"); 此时在界面上输入中文,一切OK!
测试的文件源码: 1、chinese.lzx <?xml version="1.0" encoding="GBK"?> <canvas>
<dataset name="menus" src="request.jsp" request="true" type="http"/> <dataset name="dsSendData" request="false" src="response.jsp" type="http"/>
<view x="20" y="20"> <list> <textlistitem datapath="menus:/menus/menu/text()" /> </list>
<edittext id="username" width="150"></edittext> <button onclick="sendData()">确定 <method name="sendData"> Debug.write("sendData"); var d=canvas.datasets.dsSendData; var p=new LzParam(); p.addValue("username", username.getText(), true); d.setQueryString(p); d.doRequest(); </method> </button>
<simplelayout axis="y" spacing="10"></simplelayout> </view>
<simplelayout axis="y" spacing="20"/> </canvas>
2、request.jsp <%@ page import="java.util.*" %> <%@ page contentType="text/xml; charset=GBK" %> <%
String username1 = "english"; String username2 = "中文";
byte p[] = username2.getBytes("UTF-8"); username2 = new String(p, 0, p.length, "GBK");
StringBuffer str = new StringBuffer(); str.append("<menus>"); str.append("<menu>" + username1 + "</menu>"); str.append("<menu>" + username2 + "</menu>"); str.append("</menus>");
out.println(str.toString()); %>
3、response.jsp <% String str = request.getParameter("username");
byte p[] = str.getBytes("8859_1"); String username = new String(p, 0, p.length, "UTF-8");
System.out.println("username : " + username); out.println("<result>success</result>"); %>
|