作者TonyQ (骨头)
站内java
标题Re: [JSP ] 按下送出不会有反应
时间Thu Apr 6 00:19:58 2006
※ 引述《danny (XD)》之铭言:
: 感谢这位大大 XD
: 第一个大於符号我有加上去了...
: 後面那个</form>...
: 是我复制贴上时不小心弄到 XD
: 原本的程式没有错~~
: 不过还是没有出来 但是还是感谢这位大大Orz
我测过是可以出来耶
只是你本来给的程式码没考虑到
userweight、sex、userheight 这三个一开始尚未输入的时候,
getParameter() 得到的结果会是null
你又直接把他们拿进去parseInt()
这样会出现nullPointerException
我刚刚测的结果是只有这个问题啦,就你给的"不能跑"这状况而言,
因为我只加上一行判断式就能正确执行了。
不过,你比对字串的地方也有问题,字串比对要用equals() 请千万记得。
你的没有出来是按了没反应
还是出现exception??
这两个状况在叙述上有一点点微妙的差异 XD
总之,下次请详述你的问题状况,可以让想帮忙的人更轻松一点。:)
给你我能正常跑的内容 :p
(对了,请记得html的注解要用<!-- -->,有<% %>包起的区段再用//)
档名是HW2.jsp 放在<body>区段 :)
--
<form method="post" action="HW2.jsp">
<p>weight:
<input type="text" name="userweight" size="4" maxlength="4">
</p>
<p>
sex:<input type="text" name="sex" size="4" maxlength="4">
</p>
<p>
height:
<input type="text" name="userheight" size="4" maxlength="4">
</p>
<p>
<input type="submit" name="b1" value="送出">
</p>
<%
if(request.getParameter("userweight")!=null &&
request.getParameter("sex")!=null&&
request.getParameter("userheight")!=null){
request.setCharacterEncoding("big5");
int userweight=Integer.parseInt(request.getParameter("userweight"));
String sex=request.getParameter("sex");
int userheight=Integer.parseInt(request.getParameter("userheight"));
double stdweight;
//设定userweight、sex、userheight三个接收参数,还有宣告stdweight型态为double
if(sex.equlas("male")) //原来的sex=="male" 是错的:x
{
stdweight=(userheight-80)*0.7;
}
else
{
stdweight=(userheight-70)*0.6;
}
%>
标准体重:<% out.println(stdweight); %>
<%} %>
</form>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.138.240.58