jsp菜鸟级调试问题!(40分)

  • 主题发起人 主题发起人 玉虎
  • 开始时间 开始时间

玉虎

Unregistered / Unconfirmed
GUEST, unregistred user!
1、我原来是做asp开发的,转到jsp之后,感觉调试总是有些不顺.给些建议好吗?
2、有谁能给我讲讲EJB是怎么回事情?谢谢!
3、还有out.print(变量)在jsp中怎么总是报错,我的变量是rs.getString("字段名"),此字段是通过调用javabean从库里读出来的,绝对没有错,我用<%=变量%>就能输出,可out.print(变量)就出错,我都郁闷的不行了.
4、还有switch(c){}语句中的c必须是整型吗?如果是字符串型,是这么写嘛? case'"c"';为什么我这里无论c是整型还是字符串型都报错?
5、强制转换类型的语法是怎么样的.详细点好吗?
请指点一二.万分感谢.
1--10分;2--5分;3--5分;4--10分;5--10分
 
1建议本机调试环境 resin+apache+editplus+jdk1.3.1
2ejb 企业级java bean 相关信息你可以随便照本书,第一章可定是讲它的历史。
3不好意思我没有使用过 out.print 而是使用 out.println
4switch不能 switch字符串.
5强制类型转换我举两个例子好了。
String s= (String)t;
String s=String.valueOf(t);
int t=Integer.valueOf(s).inValue();
 
谢谢大虾,能帮我搞定就加分.
请帮我看下面的switch程序,他总是报有10处错,我没办法了.最后一个错就在最后一行.
String c=request.getParameter("what");
//what是前页的radiobotton,它们的value是1-8.下面所有的parameter全是textfield.
//int cc=new Integer(c).intValue();
int cc=Integer.valueOf(c).intValue();
//上面两行任选一都试过
switch(cc){
case'1':
String ss=request.getParameter("bname");
break;
case'2':
String ss=request.getParameter("isbn");
break;
case'3':
String ss=request.getParameter("bclass");
break;
case'4':
String ss=request.getParameter("tauthor");
break;
case'5':
String ss=request.getParameter("author");
break;
case'6':
String ss=request.getParameter("country");
break;
case'7':
String ss=request.getParameter("language");
break;
case'8':
String ss=request.getParameter("publisher");
break;
case'9':
String ss=request.getParameter("tpeople");
break;
default:
String ss=request.getParameter("bname");
break;
}
out.println(ss);
 
错了,"它们的value是1-9"
 
先测试一下String ss=request.getParameter("bname");之类的语句,不一定时switch的错啊
 
String ss=request.getParameter("bname");和其他语句都没有错.
不过重起了一次机器通过了.可下面这个又搞不定了,他能显示页面,不过显示的不太对.
String c2=request.getParameter("pack");
out.println(c2);
int cc2=new Integer(c2).intValue();
String sql2=null;
out.println(cc2);
switch(cc2)
{
case 0:
sql2=null;
case 1:
sql2="and pack=精装";
case 2:
sql2="and pack=简装";
default:
sql2="def";
}
out.print(sql2);
out.print("<br>");
显示结果:
1 1 and pack=def
cc2明明是1,可选择的是default显示,怎么会事情呀?
 
用Systems.out.print("debug")
 
是赵军吗?
 
kevin8093,克克?
 
cc已经是整数了,
switch(cc){
case 1:
....
case 2:
.....
(1...9不用加单引号);
后面的贴子中:
int cc2=new Integer(c2).intValue();
恐怕不对,反正我没这样写过,
我认为应该象你前面那样写:int cc=Integer.valueOf(c).intValue();

 
我是克。
看来帮你的人还挺多。
 
克克,kevin8093是谁?
 
赵克鸣 99的。
 
int cc2=new Integer(c2).intValue();这句话好象不问题
应该写成:
int cc2=Integer.valueOf(c2).intValue()
我同意morningwind 的观点
 
String sPack = request.getParameter("pack");
if (sPack==null)
{
out.println("invalid pack paramater.");
return;
}
int iPack = 0
try
{
Integer.parseInt(sPack);
}
catch (Exception e)
{
out.println("please input a valid numberic pack.");
return;
}
String sql2 = null;
switch(iPack)
{
case 0:
break;
case 1:
sql2 = "and pack=精装";
break;
case 2:
sql2 = "and pack=简装";
break;
default:
sql2 = "def";
}
out.println(sql2);
out.println("<br>");
 
sorry,
the part
------
int iPack = 0
try
{
Integer.parseInt(sPack);
}
----
should be
------
int iPack = 0;
try
{
iPack = Integer.parseInt(sPack);
}
----
 
多人接受答案了。
 
后退
顶部