我现在已经搜索了2个小时,但显然我没有在正确的地方搜索。我正在尝试创建一个温度转换器计算器。这是三页
一个html表单,其中包含一个用于输入温度编号的表单和两个单选按钮,用于决定您是否需要Celsius或Fahrenheit。
一个jsp页面,它获取该表单的值并进行数学运算以转换温度。
如果用户在表单中输入无效字符,则会弹出错误的jsp页面。
我很难让我的jsp页面转换数字并将用户重定向到另一个显示结果的页面。当我输入一个数字并按下提交按钮时,我将被带到我的jsp页面代码中。如果您想知道,这是一个课程的作业。我准备翻转桌子并需要帮助。我的代码如下。
第1页:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<script type="text/javascript">
function check(){
document.getElementByValue("fahr").checked=true
}
function check2(){
document.getElementByValue("cel").checked=true
}
// -->
</script>
<form name="Temperature Converter" method="get" action="convert.jsp">
<h2 style="font-family:arial;color:red">Temperature Calculator</h2>
<table border="1">
<tbody>
<tr>
<td>Enter a temperature in number form:</td>
<td>
<input type="text" name="fTemp" id="fTemp" />
</td>
<td>
<input type="radio" name="temp" value="cel" onclick="check2();return false">Convert to Celsius
<br>
<input type="radio" name="temp" value="fahr" onclick="check();return false">Convert to Fahrenheit
</td>
</tr>
<tr>
<td><input type="submit" value="Convert!">
</td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
第2页:这是我觉得它很乱的地方。
<%@page contentType="text/html"%>
<%@page import="java.sql.*" %>
<%@page session="true"%>
<%!
String inp = null;
int temperature = 0;
int c = 0;
int f = 0;
%>
<%
inp = request.getParameter("fTemp");
if (inp == null || inp.equals("") )
{
response.sendRedirect("errorMsg.jsp?msg=You are missing values.");
return;
}
try
{
if (request.getParameter("cel") = checked)
{
f = Integer.parseInt(inp);
c = (f - 32) * (5.0 / 9.0);
}else{
c = Integer.parseInt(inp);
c = parseFloat(request.getParameter('inp').value);
f = (c * (9.0 / 5.0)) + 32.0;
}
catch (Exception e)
{
response.sendRedirect("errorMsg.jsp?msg=Invalid numbers entered.");
return;
}
%>
<!DOCTYPE HTML>
<html>
<head>
<title>First jsp Page</title>
</head>
<body>
<p>The temperature is <%= c %></p>
<p>The temperature is <%= f %></p>
</body>
</html>
非常感谢您的任何建议/指示,我为这条长信息道歉。
答案 0 :(得分:0)
我查看了您的代码,convert.jsp文件中存在一些语法错误。
这是更正后的代码。
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@page session="true"%>
<%!String inp = null;
double temperature = 0;
double c = 0;
double f = 0;%>
<%
inp = request.getParameter("fTemp");
if (inp == null || inp.equals("")) {
response.sendRedirect("errorMsg.jsp?msg=You are missing values.");
return;
}
try {
if ("cel".equals(request.getParameter("temp"))) {
f = Integer.parseInt(inp);
c = (f - 32) * (5.0 / 9.0);
} else {
c = Integer.parseInt(inp);
f = (c * (9.0 / 5.0)) + 32.0;
}
} catch (Exception e) {
response.sendRedirect("errorMsg.jsp?msg=Invalid numbers entered.");
return;
}
%>
这将按预期编译和执行。