当前位置: 首页 > 图文教程 > 网络编程 > JSP > jsp页面调用applet实现人民币的大小写转换

JSP
我认为JSP有问题(上)
我认为JSP有问题(下)
jsp“抓”网页代码的程序
关于在bean里面打印html的利弊看法
bean里面如何打印到html页面
jdbc3中的RowSet 接口规范
Apusic Application Server1.0中jsp源代码泄漏漏洞
Unify的eWave ServletExec拒绝服务漏洞
通过提交超长的GET请求导致IBM HTTP Server远程溢出
在HTTP请求中添加特殊字符导致暴露JSP源代码文件
Resin 1.2 重要源代码暴露漏洞
多中WEB服务器的通用JSp源代码暴露漏洞
Tomcat 暴露JSP文件内容
IBM WebSphere Application Server 暴露JSP文件内容
JRun 2.3.x 范例文件暴露站点安全信息
BEA WebLogic 暴露源代码漏洞
IBM WebSphere Application Server 3.0.2 存在暴露源代码漏洞
Tomcat 3.1 存在暴露网站路径问题
Sun Java Web Server 能让攻击者远程执行任意命令
Netscape 修复 JAVA 安全漏洞

JSP 中的 jsp页面调用applet实现人民币的大小写转换


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 44 ::
收藏到网摘: n/a

实现方法一

applet实现页面是rmb.jsp,此页面是通过applet来实现人民币小写转换成大写的。此页面有三个变量需要在载入classes的时候进行初始化:

<applet type="applet" id="myApplet" codebase = "." name="TestApplet"

align="middle" code="lqh.rmb.Applicate.Rmb.class"

width="560" height="25">

<param name="RGB_Back" value="241|247|251">

<param name="RGB_Fore" value="255|0|0"/>

<param name="WIGTH" value="560"/>

</applet>

变量RGB_Back是初始化背景色的,修改次变量可以使applet的背景色跟自己页面的风格一样;变量RGB_Fore是初始化字体的颜色; WIGTH要和applet的宽度一样,这个变量是保证显示的转换信息在中间显示。

此种方法不能传递值给页面trans.jsp,只能显示并且不能copy

页面代码如下:

<html>

<head>人民币小写转换成大写</head>

<%@ page contenttype="text/html;charset=gb2312" %>

<SCRIPT language=JavaScript>

function trans(){

//取变量的值

var aaa=document.rmb. rmb_test.value;

//applet赋变量的值

document.myApplet.setRMB(aaa);

document.myApplet.repaint();

return true;

}

</SCRIPT>

<body>

<form name="rmb">

输入金额:<input type=”text” name=”rmb_test” onkeyup=”trans()”><br><hr>

<%@ include file="../rmb.jsp" %>

</form>

</body>

</html>

实现方法二

applet实现页面是rmb.jsp,此页面是通过applet来实现人民币小写转换成大写的。此页面不需要变量进行初始化,在页面上不显示applet画的图像;而可以把转换的值传递给页面变量:

<applet type="applet" id="myApplet" codebase = "." name="TestApplet"

align="middle" code="lqh.rmb.Applicate.Rmb.class"

width="0" height="0">

</applet>

页面trans.jsp代码如下:

<html>

<head>人民币小写转换成大写</head>

<%@ page contenttype="text/html;charset=gb2312" %>

<%@ include file="../rmb.jsp" %>

<SCRIPT language=JavaScript>

function trans(){

var aaa=document.rmb. rmb_test.value;

//得到转换的值

var rmb = document.myApplet.getRMB(aaa);

document.rmb. rmb_result.value = rmb;

return true;

}

</SCRIPT>

<body>

<form name="rmb">

输入金额:<input type=”text” name=”rmb_test” onkeyup=”trans()”><br>

转换结果:<input type=”text” name=”rmb_result” ><br>

</form>

</body>

</html>

附录

1applet代码:

package lqh.rmb.Applicate;

import java.awt.*;

import java.awt.event.*;

import java.applet.*;

import lqh.rmb.*;

public class Rmb extends Applet {

private boolean isStandalone = false;

private RMBConversion rmb=new RMBConversion();

private String var0 = "";

private String re_rmb="";

private String wigth ="0";

private String back_color;

private String fore_color;

public String getParameter(String key, String def) {

return isStandalone ? System.getProperty(key, def) :

(getParameter(key) != null ? getParameter(key) : def);

}

public void paint(Graphics g) {

if(wigth.equals("0")){

wigth = "560";

}

int i= Integer.parseInt(wigth);

if(checkNum(var0)){

if(var0.endsWith(".")){

var0 = var0.substring(0,var0.length()-1);

}

re_rmb= rmb.RMB(var0);

}else{

re_rmb="输入错误"+var0;

}

int middel =(i - re_rmb.length()*12)/2;

this.setBackground(new Color(getColor(back_color)[0], getColor(back_color)[1], getColor(back_color)[2]));

this.setForeground(new Color(getColor(fore_color)[0], getColor(fore_color)[1], getColor(fore_color)[2]));

g.drawString(re_rmb,middel,20);

}

public void init() {

try {

back_color = this.getParameter("RGB_Back", "241|247|251");

}catch(Exception e) {e.printStackTrace();}

try {

fore_color = this.getParameter("RGB_Fore", "255|0|0");

}catch(Exception e) {e.printStackTrace();}

try {

wigth = this.getParameter("WIGTH", "0");

}catch(Exception e) {e.printStackTrace();}

try {

jbInit();

}catch(Exception e) { e.printStackTrace(); }

}

private void jbInit() throws Exception {

this.setBackground(new Color(getColor(back_color)[0], getColor(back_color)[1], getColor(back_color)[2]));

}

public void setRMB(String rmb_temp){

var0 = rmb_temp;

}

public String getRMB(String rmb_temp){

if(checkNum(rmb_temp)){

if(rmb_temp.endsWith(".")){

rmb_temp = rmb_temp.substring(0,rmb_temp.length()-1);

}

re_rmb= rmb.RMB(rmb_temp);

}else{

re_rmb="输入错误"+rmb_temp;

}

return re_rmb;

}

public boolean checkNum(String str){

String numChar="0123456789.";

boolean breakBoolean = false;

for(int i=0;i<str.length();i++){

if(numChar.indexOf(str.substring(i,i+1))<0){

breakBoolean =true;

}

if(breakBoolean) break;

}

if(breakBoolean){

return false;

}else{

if(str.startsWith(".")){

return false;

}else{

return true;

}

}

}

public String[][] getParameterInfo() {

String[][] pinfo =

{

{"RGB_Back", "String", ""},

{"RGB_Fore", "String", ""},

{"WIGTH", "String", ""},

};

return pinfo;

}

private int[] getColor(String rgb){

int[] rgb_return = new int[3];

int index =0,nextIndex=0,len=0;

while((index =rgb.indexOf("|",nextIndex))>-1){

rgb_return[len]=getInt(rgb.substring(nextIndex,index));

nextIndex=index+1;

len++;

}

rgb_return[len]=getInt(rgb.substring(nextIndex));

return rgb_return;

}

private int getInt(String str){

try{

return Integer.parseInt(str);

}catch(Exception e){

return 0;

}

}

}

2.java包,欢迎索取[email protected]