jsp 与 javabean之间参数传递问题!!!!帮帮忙

jackal81 2003-09-22 05:32:20
我有一个jsp要把里面的参数传递到bean里并进行处理.bean里面以定义一个set方法和get方法,我在jsp中调用get方法能在页面显示参数内容.可是为什么在bean里调用get方法却不好使呢?
我想调用get方法将jsp传来的数据存到字符串里然后利用这个数据进行画图,
如果我直接在bean里给参数复上值的话是可以画图的,说明画图部分是好使的.但是用传来的数据画图图上显示的数据是空的.

请问怎么回事??????
...全文
196 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackal81 2003-09-24
  • 打赏
  • 举报
回复
xmvigour(微电):我按你说的方法改完在jsp中调用get不能得到返回值了
jackal81 2003-09-24
  • 打赏
  • 举报
回复
xmvigour(微电) :我按你说的改完后在jsp中用get得不到值了
zhui19760820 2003-09-24
  • 打赏
  • 举报
回复
你还需要考虑到request返回null的情况处理
zhui19760820 2003-09-24
  • 打赏
  • 举报
回复
你把付值的地方写成这种方式看看

this.selMonth =new String(selMonth.toString());


Geranium 2003-09-24
  • 打赏
  • 举报
回复
Vector c1 = getCurrentDate();
Vector c2 = getCurrentData();
Vector l1 = getLastDate();
Vector l2 = getLastData();

这些你是想把数据库里的数值赋给它们吧?好象不能用内部定义的方法~
xmvigour 2003-09-24
  • 打赏
  • 举报
回复
第一感觉 你的bean好象有问题

你这样改改看 你的类成员变量全部小写 然后你的getter setter全部是按以下的改:
setSelMonth改为setSelmonth

你试一下 以前我也有遇到过
xmvigour 2003-09-24
  • 打赏
  • 举报
回复
第一感觉 你的bean好象有问题

你这样改改看 你的类成员变量全部小写 然后你的getter setter全部是按以下的改:
setSelMonth改为setSelmonth

你试一下 以前我也有遇到过
jackal81 2003-09-24
  • 打赏
  • 举报
回复
jsp里调用set怎么用?比如象我这里的??没有固定的值
jackal81 2003-09-24
  • 打赏
  • 举报
回复
jsp里调用set怎么用?比如象我这里的??
jackal81 2003-09-24
  • 打赏
  • 举报
回复
那应该怎么调用?
Geranium 2003-09-24
  • 打赏
  • 举报
回复
在JSP里得到bean里保存的东西用get,在bean里得到JSP里的东西用set~
Geranium 2003-09-24
  • 打赏
  • 举报
回复
在bean里用set得到参数~
jokerjava 2003-09-24
  • 打赏
  • 举报
回复
怀疑搂主bean的调用方法有问题
jokerjava 2003-09-24
  • 打赏
  • 举报
回复
怀疑搂主bean的调用方法有问题
kingssman 2003-09-24
  • 打赏
  • 举报
回复
在jsp页面使用你的set方法就可以了~~~~~~
jackal81 2003-09-24
  • 打赏
  • 举报
回复
//以下是bean代码,代"1"的是上月数据,在页面里

package bean;
import java.sql.*;
import java.sql.*;
import java.util.*;
import java.io.*;
import javax.swing.*;
import org.jfree.data.*;
import org.jfree.chart.*;
import org.jfree.chart.plot.*;
public class L {
//定义初始变量
int i = 0;
int a = 0;
public String selMonth = null;
public String selArea = null;
public String selCity = null;
public String selNet = null;
Vector cleardayStr = new Vector(1,1);
Vector feesumStr = new Vector(1,1);
Vector cleardayStr1 = new Vector(1,1);
Vector feesumStr1 = new Vector(1,1);
Vector monthNum = new Vector(1,1);
Vector cityName = new Vector(1,1);
Vector cityCode = new Vector(1,1);
Vector cityName1 = new Vector(1,1);
Vector cityCode1 = new Vector(1,1);


public void setSelMonth(String selMonth){
this.selMonth = selMonth;
}
public void setSelArea (String selArea){
this.selArea = selArea;
}
public void setSelCity(String selCity){
this.selCity = selCity;
}
public void setSelNet(String selNet){
this.selNet = selNet;
}

public String getSelMonth(){
return selMonth;
}
public String getSelArea(){
return selArea;
}
public String getSelCity(){
return selCity;
}
public String getSelNet(){
return selNet;
}

//获取数据库信息
public int setData(){
//建立连接
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}catch(ClassNotFoundException e){}
String url="jdbc:oracle:thin:@128.0.2.5:1521:A";
String user="1234";
String password="1234";
String dte = null;
String d =null;
int dat = 0;
//获取本月月份

try{
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = null;
String sql = null;
if(selCity == "n") selCity = null;
if(selNet == "n") selNet = null;
if(selMonth == "n") selMonth = null;
if(selArea == "n") selArea = null;
if (selCity != null)
selArea = "9%";
else if (selCity ==null && selArea != null)
selCity = "%";
else if (selCity == null && selArea == null){
selArea = "9%";
selCity = "%";
}
if (selNet == null)
selNet = "11,21";
dat = 0;
d = month.substring(0,6);
dte = d+"%";
dat = Integer.parseInt(d);
System.out.println(dte);
System.out.println(selNet);
System.out.println(selCity);
System.out.println(selArea);
//得到本月日期数据的sql语句
sql="select distinct clearday, sum(FEESUM) as feesum from temp_billday a , v_dim_area_5 b where a.cityCode=b.city_code and city_l2code like '"+selArea+"' and city_code like '"+selCity+"' and netcode in ("+selNet+") and clearday like '"+dte+"' group by clearday";
rs=stmt.executeQuery(sql);

while(rs.next()){
feesumStr.add(rs.getString("feesum"));
}
sql="select distinct CLEARDAY, sum(FEESUM) as feesum from temp_billday a , v_dim_area_5 b where a.cityCode=b.city_code and city_l2code like '"+selArea+"' and city_code like '"+selCity+"' and netcode in ("+selNet+") and clearday like '"+dte+"' group by clearday";
rs=stmt.executeQuery(sql);

while(rs.next()){
cleardayStr.add(rs.getString("CLEARDAY"));
}
dat = dat - 1;
dte = dat+"%";

//得到上月日期数据的sql语句
sql="select distinct clearday,sum(FEESUM) as feesum from temp_billday a , v_dim_area_5 b where a.cityCode=b.city_code and city_l2code like '"+selArea+"' and city_code like '"+selCity+"' and netcode in ("+selNet+") and clearday like '"+dte+"' group by clearday";
rs=stmt.executeQuery(sql);

while(rs.next()){
feesumStr1.add(rs.getString("FEESUM"));
}
sql="select distinct CLEARDAY, sum(FEESUM) as feesum from temp_billday a , v_dim_area_5 b where a.cityCode=b.city_code and city_l2code like '"+selArea+"' and city_code like '"+selCity+"' and netcode in ("+selNet+") and clearday like '"+dte+"' group by clearday";
rs=stmt.executeQuery(sql);

while(rs.next()){
cleardayStr1.add(rs.getString("CLEARDAY"));
}


//得到可选月份
sql="select distinct clearday from temp_billday where clearday like '2003%02'";
rs=stmt.executeQuery(sql);
while(rs.next()){
monthNum.add(rs.getString("clearday"));
}
//得到地区名称
sql="select distinct city_l2name,city_l2code from v_dim_area_5 order by city_l2code";
rs=stmt.executeQuery(sql);


while(rs.next()){
cityCode.add(rs.getString("city_l2code"));
cityName.add(rs.getString("city_l2name"));
}
sql="select city_code,city_name from v_dim_area_5 order by city_code";
rs=stmt.executeQuery(sql);
while(rs.next()){
cityName1.add(rs.getString("city_name"));
cityCode1.add(rs.getString("city_code"));
}
a=0;
rs.close();
stmt.close();
conn.close();
}catch(Exception e){System.out.println (e);}
cleardayStr.trimToSize();
feesumStr.trimToSize();
cleardayStr1.trimToSize();
feesumStr1.trimToSize();
monthNum.trimToSize();
cityCode.trimToSize();
cityName.trimToSize();
cityName1.trimToSize();
cityCode1.trimToSize();
return cleardayStr.size();
}
public Vector getMonthNum(){
return monthNum;
}
public Vector getCurrentDate(){
return cleardayStr;
}
public Vector getCurrentData(){
return feesumStr;
}
public Vector getLastDate(){
return cleardayStr1;
}
public Vector getLastData(){
return feesumStr1;
}
public Vector getCityName(){
return cityName;
}
public Vector getCityCode(){
return cityCode;
}
public Vector getCityName1(){
return cityName1;
}
public Vector getCityCode1(){
return cityCode1;
}
int g=setData();


public JFreeChart getChart(){
//声明画图的数据集
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
int i=0;

//从数据库用数据库中的数据复值给数据集
double n = 0.00;
Vector c1 = getCurrentDate();
Vector c2 = getCurrentData();
Vector l1 = getLastDate();
Vector l2 = getLastData();
String s=null;
String str = null;

if(g>cleardayStr1.size())
g = cleardayStr1.size();
else
g = cleardayStr.size();
while(i<g){
n = Double.parseDouble((String)c2.get(i))/1000000;
s = (String)c1.get(i);
str = ""+s.substring(6,8)+"日";
s = ((String)cleardayStr.get(0)).substring(4,6)+"月";
dataset.addValue(n,s,str);
n = Double.parseDouble((String)l2.get(i))/1000000;
s = ((String)cleardayStr1.get(0)).substring(4,6)+"月";
dataset.addValue(n,s,str);
i++;
}
//定义图形规范
JFreeChart chart = ChartFactory.createBarChart3D(
"日累计应收分析图", // 图表标题
"日期", // 目录轴的显示标签
"帐数 单位(百万元)", // 数值轴的显示标签
dataset, // 数据集
PlotOrientation.VERTICAL, // 图表方向:水平、垂直
true, // 是否显示图例(对于简单的柱状图必须是false)
false, // 是否生成工具
false // 是否生成URL链接
);
return chart;
}
public void chartOut(JFreeChart chart){

int j = 0;
//创建输出文件
if(g<=7)
j = 400;
else if(g > 7 && g <= 15)
j = 1000;
else if(g > 15 && g <= 23)
j = 1500;
else j = 2000;
FileOutputStream fos_jpg = null;
try {
fos_jpg = new FileOutputStream("D:\\Tomcat 5.0\\webapps\\ROOT\\img\\3.jpg");
ChartUtilities.writeChartAsJPEG(fos_jpg,50,chart,j,350,null);
}catch(IOException e){System.out.println(""+e.getMessage());}
finally {
try {
fos_jpg.close();
} catch (Exception e) {}
}

}

}
jackal81 2003-09-24
  • 打赏
  • 举报
回复
jsp代码:代"1"的表示上月数据

<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="bean.K"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<%@ page import ="org.jfree.data.*"%>
<%@ page import="org.jfree.chart.*"%>
<%@ page import="org.jfree.chart.plot.*"%>



<html>
<head>
<meta http-equiv="Content-Type" content="text/html;chartset=gb2312">
<title>表格显示样品</title>
</head>
<body>
<form name="form" action="rechart.jsp" target=_top method="post">

<center>
<jsp:useBean id="L" class="bean.L" scope="request" >
<jsp:setProperty name="L" property="*" />

</jsp:useBean>

<%
String s = null;
String str = null;
ResultSet rs = null;
//从bean里取出数据
Vector feesumStr = L.getCurrentData();
Vector cleardayStr = L.getCurrentDate();
Vector feesumStr1 = L.getLastData();
Vector cleardayStr1 = L.getLastDate();
Vector monthNumStr = L.getMonthNum();
Vector cityNameStr = L.getCityName();
Vector chaStr = new Vector();
Vector cityName1Str = L.getCityName1();
Vector cityCode1Str = L.getCityCode1();
Vector cityCodeStr = L.getCityCode();
int j = cleardayStr.size();
int i = 1;
String s1 = null;
String s2 = null;
String s3 = null;
%>
<table border="0" cellpadding="0" cellspacing="0" align="center">
<tr><td>
按月份对比:
<select name="selMonth" size="1" action="chart.jsp">
<option value="n">选择月份
<%while(i<monthNumStr.size()){%>
<option value="<%=((String)monthNumStr.get(i))%>"><%=((String)monthNumStr.get(i)).substring(4,6)%> 月

<%
i++;
}%>
</select>
</td>
<td>
按地区对比:
<select name="selArea" size="1" >
<option value="n">选择地区
<option value="9%"> 全省合计
<%
i = 0;
while(i<cityNameStr.size()){%>
<option value="<%=(String)cityCodeStr.get(i)%>% "><%=(String)cityNameStr.get(i)%>
<%
i++;
}
%>
</select>
</td>
<td>
按城市对比:
<select name="selCity" size="1" action="chart.jsp">
<option value="n">选择城市
<%
i=0;
while(i<cityName1Str.size()){%>
<option value="<%=cityCode1Str.get(i)%>"><%=(String)cityName1Str.get(i)%>
<%
i++;
}%>
</td>
<td>
按网络对比:
<select name="selNet" size="1" >
<option value="n">选择网络类型
<option value="<%="11,21"%>"> 全网络
<option value="<%="11"%>"> GSM 网络
<option value="<%="21"%>"> CDMA 网络
</select>
</td></tr>
</table>
<br>
<input type="submit" name="submit" value="提交查看内容">
<br>
<center>



<%
JFreeChart ch = L.getChart();
//调用画图方法
L.chartOut(ch);%>

<img src="/img/3.jpg">
</center>
<br>
<center>
<h3>移动业务日累计应收分析表 单位(元)</h3>
</center>
<table border="1" bordercolorlight="#3399FF" cellpadding="0" cellspacing="0" align="center">
<tr><th> </th>

<%
i=0;
if(j>cleardayStr1.size())
j = cleardayStr1.size();
while(i<j) {
s = (String)cleardayStr.get(i);
str = s.substring(6,8);
%>
<th align="center"><%=str%> 日 </th>
<%
i++;
}
%>
</tr>

<tr>
<th>上 </th>
<%

i = 0;
while(i<j) {%>
<td><font size="2"><%=feesumStr1.get(i)%></font></td>
<%
i++;
}
%>
</tr>
<tr>
<th>本 </th>
<%
i = 0;
while(i<j) {%>
<td><font size="2"><%=feesumStr.get(i)%></font></td>
<%
i++;
}
%>
</tr>
<tr><th> 增 </th>
<%
i=0;
double d1 = 0.00;
double d2 = 0.00;
double d = 0.00;
StringTokenizer st;
while(i<j) {
d1 = Double.parseDouble((String)feesumStr.get(i));
d2 = Double.parseDouble((String)feesumStr1.get(i));
d = d1 - d2;
st = new StringTokenizer(String.valueOf(d),".");
s1 = st.nextToken();
s2 = st.nextToken();
if(s2.length()<2)
s3 = s1+"."+s2.substring(0,1);
else
s3 = s1+"."+s2.substring(0,2);
%>
<td><font size="2"><%=s3%></font></td>
<%
chaStr.add(s3);
i++;
}
chaStr.trimToSize();
%>
</tr>
<tr><th> 浮 </th>
<%
i=0;
while(i<j) {
d1 = Double.parseDouble((String)chaStr.get(i));
d = d1/d2;
st = new StringTokenizer(String.valueOf(d),".");
s1 = st.nextToken();
s2 = st.nextToken();
if(s2.length()<4)
s3 = s1+"."+s2.substring(0,3);
else
s3 = s1+"."+s2.substring(0,6);
%>
<td><font size="2"><%=s3%></font></td>
<%
i++;
}
%>
</tr>
</center>
</table>
</form>
</body>
</html>
programeyonger 2003-09-24
  • 打赏
  • 举报
回复
一般是在jsp用get!在bean中用set吗???
关注!
spiritsl 2003-09-24
  • 打赏
  • 举报
回复
要看全部代码了。
jackal81 2003-09-24
  • 打赏
  • 举报
回复
我在页面上调用get方法返回字符串页面能显示是不是说明值已经传过去了???
加载更多回复(12)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧