2、將界面上的數據發(fā)送至服務(wù)器,服務(wù)器端的JSP文件應該加上:
<%@ page import="java.util.*" %>
<%@ page contentType="text/xml; charset=GBK" %>
然后對字符串進(jìn)行如下格式轉換:
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、將界面上的數據再回傳客戶(hù)端顯示,如 lps-3.0\examples\components 目錄下的form_example.lzx和echo.jsp例子。
則需進(jìn)行如下改動(dòng):
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");
此時(shí)在界面上輸入中文,一切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>");
%>
聯(lián)系客服