写了个Applet,大家来看看 地址是:http://www.cetnh.com/applet/index.htm其实是以前GaryChan的Java咖啡馆教程里面的内容就是通过JavaScript从客户端获得参数,然后提交给Applet显示在图片上面问题是现在只能输入英语和数字作为参数提交,不能输入中文,请问如何解决这一问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其中的代码index.htm<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>大千世界无奇不有</title><meta http-equiv="Content-Type" content="text/html; charset=gb1213"></head><body><script language="JavaScript">// 得到URL中的参数var urlquery = location.href.split("?");if (urlquery.length > 1) {// 解析参数并获取from和tovar urlterms = urlquery[1].split("&");var from = decodeURIComponent(urlterms[0].substring(5));var to = decodeURIComponent(urlterms[1].substring(3));// 动态把<applet>标签写入HTMLdocument.write('<center>');document.write('<h1>爱琴海上千年罕见的奇观</h1>');document.write('</center>');document.write('<hr>');document.write('<p align=center>http://www.sina.com 2006年9月27日 记者:Chengasuka</p>');document.write('<applet code="NewsApplet.class" codebase="." width=800 height=640>');document.write(' <param name="from" value="' + from + '">');document.write(' <param name="to" value="' + to + '">');document.write('</applet>');document.write('<p>酷似汉字的星辰若隐若现</p>');document.write('<p>世界各地人们蜂拥而来争相观赏</p>');document.write('<p>科学家表示,白天能够达到肉眼辨别的星辰非常罕见。<p>');document.write('<p>据称,如果名字跟星辰相似,一定能够得到神灵的祝福。<p>');}</script> <form><p>你的名字:<input name="from" type="text" id="from" width="100">她的名字:<input name="to" type="text" id="to" width="100"><input type="submit" name="Submit" value="提交"></p></form></body></html> NewsApplet.javaimport java.applet.Applet;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.Image;import java.awt.MediaTracker;public class NewsApplet extends Applet {Image snapshot;String from,to; public void init() {from = null == getParameter("from") ? "大米" : getParameter("from");to = null == getParameter("to") ? "大米" : getParameter("to");snapshot = getImage(getCodeBase(),"snapshot.jpg");MediaTracker tracker = new MediaTracker(this);tracker.addImage(snapshot,0);try {tracker.waitForID(0);} catch (Exception e) {System.out.println("无法下载snapshot.jpg!");}}public void paint(Graphics g) {g.drawImage(snapshot,0,0,snapshot.getWidth(this),snapshot.getHeight(this),this);g.setFont(new Font("华文彩云",Font.BOLD + Font.ITALIC,18));g.setColor(Color.white);g.drawString(from,630,90);g.drawString("爱",650,105);g.drawString(to,670,120);}} var from = decodeURIComponent(urlterms[0].substring(5));var to = decodeURIComponent(urlterms[1].substring(3));改成var from=urlterms[0].substring(5);var to=urlterms[1].substring(3);然后在applet里修改init函数:添加下面代码:String from1 = (null==getParameter("from"))?"大米":getParameter("from"); String to1 = (null==getParameter("to"))?"大米":getParameter("to"); try{ from=URLDecoder.decode(from1, "gb2312"); to=URLDecoder.decode(to1, "gb2312"); }catch(Exception e){ e.printStackTrace(); } 编译没通过?我这儿是好的哦~~呵呵,其实主要是因为你输入汉字的话你截到的都是%xxx这样的东西,需要用java的URLDecoder.decode方法来解码,javascript我不熟,反正那个decodeURIComponent方法提示传入的URI格式错误,编译啥错误,发出来看看@_@ 编译没有过是由于没有引入java.net.URLEncoder这个包所造成的但是现在还没有办法提交中文字符,本来再没有用楼上大哥的代码改动前,中文字符更本不能从html页面提交给Applet。现在能提交了,但是显示出来的却是%xxx这样的东西 原文中那个作者说只要把index.htm中定义编码改为utf-8就可,但是在该成了utf-8之后,为何我用浏览器显示出的都是乱码 小弟弱弱问大家一个float类型的问题。谢谢 求教装饰模式和代理模式的区别 功能数组相乘问题 关于线程的问题 使用ant deploy web至linux的weblogic服务器上时,出现NoClassDefFoundError,大概会是什么原因? 请教,关于lucene初级问题,创建索引时有没有存储关键字的位置信息? 请问Applet加载gif为何老闪 怎么知道对象名? 用过jcvs的请进 xiaoxi777(小溪):请教你刚才的问题 怎样做到NetBeans或Eclipse 那种内置窗口的拖动、组合效果??? 关于数组初始化的问题。。。
index.htm<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html><head><title>大千世界无奇不有</title><meta http-equiv="Content-Type" content="text/html; charset=gb1213"></head><body><script language="JavaScript">// 得到URL中的参数var urlquery = location.href.split("?");
if (urlquery.length > 1) {// 解析参数并获取from和tovar urlterms = urlquery[1].split("&");var from = decodeURIComponent(urlterms[0].substring(5));var to = decodeURIComponent(urlterms[1].substring(3));
// 动态把<applet>标签写入HTMLdocument.write('<center>');document.write('<h1>爱琴海上千年罕见的奇观</h1>');document.write('</center>');document.write('<hr>');document.write('<p align=center>http://www.sina.com 2006年9月27日 记者:Chengasuka</p>');document.write('<applet code="NewsApplet.class" codebase="." width=800 height=640>');document.write(' <param name="from" value="' + from + '">');document.write(' <param name="to" value="' + to + '">');document.write('</applet>');document.write('<p>酷似汉字的星辰若隐若现</p>');document.write('<p>世界各地人们蜂拥而来争相观赏</p>');document.write('<p>科学家表示,白天能够达到肉眼辨别的星辰非常罕见。<p>');document.write('<p>据称,如果名字跟星辰相似,一定能够得到神灵的祝福。<p>');}</script>
<form><p>你的名字:<input name="from" type="text" id="from" width="100">她的名字:<input name="to" type="text" id="to" width="100"><input type="submit" name="Submit" value="提交"></p></form></body></html>
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;public class NewsApplet extends Applet {
Image snapshot;
String from,to;
public void init() {
from = null == getParameter("from") ? "大米" : getParameter("from");
to = null == getParameter("to") ? "大米" : getParameter("to");snapshot = getImage(getCodeBase(),"snapshot.jpg");
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(snapshot,0);try {
tracker.waitForID(0);
} catch (Exception e) {
System.out.println("无法下载snapshot.jpg!");
}
}public void paint(Graphics g) {
g.drawImage(snapshot,0,0,snapshot.getWidth(this),snapshot.getHeight(this),this);g.setFont(new Font("华文彩云",Font.BOLD + Font.ITALIC,18));
g.setColor(Color.white);g.drawString(from,630,90);
g.drawString("爱",650,105);
g.drawString(to,670,120);
}
}
改成
var from=urlterms[0].substring(5);
var to=urlterms[1].substring(3);然后在applet里修改init函数:
添加下面代码:
String from1 = (null==getParameter("from"))?"大米":getParameter("from");
String to1 = (null==getParameter("to"))?"大米":getParameter("to");
try{
from=URLDecoder.decode(from1, "gb2312");
to=URLDecoder.decode(to1, "gb2312");
}catch(Exception e){
e.printStackTrace();
}