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

JSP
jsp计数器制作
用jsp编写文件上载
基于JSP的动态网站开发技术
JSP由浅入深(3)—— 通过表达式增加动态内容
JSP由浅入深(5)—— Scriptlets和HTML的混合
JSP由浅入深(1)—— 熟悉JSP服务器
JSP由浅入深(12)—— 表单编辑
JSP由浅入深(11)—— 标记库
JSP由浅入深(10)—— Beans and Forms处理
JSP由浅入深(9)—— JSP Sessions
JSP由浅入深(8)—— JSP Tags
JSP由浅入深(6)—— JSP声明
JSP由浅入深(4)—— Scriptlets
JSP由浅入深(2)—— 第一个JSP
JSP由浅入深(7)—— JSP Directives
JSP中的字符替换函数 str_replace() 实现!
把一张图片变形扭曲成各种不同的长宽
用JSP编写通用信息发布程序
Java Servlet及Cookie的使用
Apache+Servlet+Jsp环境设置(上)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 81 ::
收藏到网摘: 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]