<%=a%>

超链接不能用来传递对象

<%=a%>赋值后会带上<>左右两边的符号,这一点一定要小心

一个表单可以被提交多次

request.getParameterValues(String  name)是获得如checkbox类(名字相同,但值有多个)的数据,得到的结果是一个String数组    

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <link href="css/all.css" rel="stylesheet" media="all" type="text/css" /> <title>国潮风零食</title> </head> <body> <div class="top"> <div class="center"> <div class="fl">欢迎来到国潮风零食商城</div> </div> </div> <header> <div class="logo"><img src="images/logo.jpg" width="180"/></div> <div class="menu"> <ul class="center"> <li style="background:#FF6633"><a href="index.html">首页</a></li> <li style="background:#6666CC"><a href="list.html">商品</a></li> <li style="background:#009999"><a href="reg.html">注册</a></li> <li style="background:#CC6699"><a href="login.html">登录</a></li> </ul> <div class="clear"></div> </div> </header> <div class="content center"> <div class=""> <div class="bar2">商品</div> <div class="left"><img src="images/2.jpg" width="100%" /></div> <div class="right"> <h2>高端零食良品铺子 大礼包 干果糖果</h2> <p>好零食 选良品 挑更好的不会错</p> <h1>¥28.9</h1> <a href="login.html" class="gm">立刻购买</a></div> <div class="clear"></div> <div class="bar2">详情</div> <div class="info" style="text-align:center"> <p><img src="images/r1.jpg" width="100%" /></p> <p><img src="images/r2.jpg" width="100%" /></p> <p><img src="images/r3.jpg" width="100%" /></p> <p><img src="images/r4.jpg" width="100%" /></p> <p><img src="images/r5.jpg" width="100%" /></p> </div> </div> </div> </div> <div class="end"> <p>版权所有 </p> </div> </body> </html> 修改为多一点的价格
最新发布
11-04
### 代码问题分析 1. **字符编码设置方面**:原代码中 `request.setCharacterEncoding("UTF-8");` 是为请求设置字符编码,不过在设置之前,要保证请求的参数未被获取过,不然就会失效。 2. **参数验证问题**:代码直接使用 `Double.parseDouble` 把请求参数转换为 `double` 类型,却没有对参数是否为空或者是否为有效的 `double` 值进行验证。一旦参数为空或者不是有效的 `double` 值,就会抛出 `NumberFormatException`。 3. **输出格式问题**:在输出长、宽、周长和面积时,代码里有多余的 `>` 符号,这会让 HTML 页面的显示出现问题。 ### 优化建议 1. **参数验证**:在转换参数之前,先验证参数是否为空或者是否为有效的 `double` 值,利用 `try-catch` 块来捕获可能出现的异常。 2. **错误处理**:若参数无效,要给出明确的错误提示信息。 3. **输出格式**:去除多余的 `>` 符号,保证 HTML 页面的正确显示。 ### 优化后的代码 ```jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <% request.setCharacterEncoding("UTF-8"); String lengthParam = request.getParameter("length"); String widthParam = request.getParameter("width"); double a = 0; double b = 0; boolean isValid = true; try { if (lengthParam != null && !lengthParam.isEmpty()) { a = Double.parseDouble(lengthParam); } else { isValid = false; } if (widthParam != null && !widthParam.isEmpty()) { b = Double.parseDouble(widthParam); } else { isValid = false; } } catch (NumberFormatException e) { isValid = false; } if (isValid) { %> 长为:<%=a%> 宽为:<%=b%> 周长为:<%=2 * a + 2 * b%> 面积为:<%=a * b%> <% } else { %> 输入的参数无效,请输入有效的长度和宽度。 <% } %> </body> </html> ``` ### 优化说明 1. **参数验证**:先把请求参数获取到字符串变量里,接着检查参数是否为空,再尝试将其转换为 `double` 类型。 2. **错误处理**:使用 `try-catch` 块捕获 `NumberFormatException`,若参数无效,就把 `isValid` 标记设为 `false`,并给出错误提示。 3. **输出格式**:去除多余的 `>` 符号,保证 HTML 页面的正确显示。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值