Re: [JSP ] 按下送出不會有反應
※ 引述《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
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章