异常-jsp中response实验,为什么出不了结果

问题描述

jsp中response实验,为什么出不了结果

inputnumber.jsp

 <%@ page contentType="text/html;charset=utf-8" %>
<%@ taglib tagdir="/WEB-INF/tags" prefix="computer"%>
<html>
    <body bgcolor="blanchedalmond">
        <font size="3">
            <form action="" method="post" name="form" >
            输入运算数,选择运算符号:
            <br><input type="text" name="numberone" size="6" />
            <select name="operator">
                <option value="+">+
                <option value="-">-
                <option value="*">*
                <option value="/">/
            </select>
            <input type="text" name="numbertwo" size="6" />
            <br><input type="submit" value="提交你的选择" name="submit" />
            </form>
            <%
                String a=request.getParameter("numberone");
                String b=request.getParameter("numbertwo");
                String operator=request.getParameter("operator");
                if(a==null||b==null){
                    a="";
                    b="";
                }
                if(a.length()>0&&b.length()>0){
            %><computer:computer numberA="<%=a%>" numberB="<%=b%>" operator="<%=operator%>" />
            计算结果是:<%=a%><%=operator%><%=b%>=<%=result%>
                <%}%>
        </font>
    </body>
</html>

computer.tag

 <%@ tag pageEncoding="utf-8" %>
<%@ attribute name="numberA" required="true" %>
<%@ attribute name="numberB" required="true" %>
<%@ attribute name="operator" required="true" %>
<%@ variable name-given="result" scope="AT-END" %>
<% try{
    double a=Double.parseDouble(numberA);
    double b=Double.parseDouble(numberB);
    double r=0;
    if(operator.equals("+"))
    r=a+b;
    else if(operator.equals("-"))
    r=a-b;
    else if(operator.equals("*"))
    r=a*b;
    else if(operator.equals("/"))
    r=a/b;
    jspContext.setAttribute("result",String.valueOf(r));
    }
    catch(Exception e){
    jspContext.setAttribute("result","发生异常:"+e);
    }
%>

网页运行结果:

 type Exception report
message Unable to compile class for JSP:
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 40 in the jsp file: /inputnumber.jsp
result cannot be resolved to a variable
37:                 }
38:                 if(a.length()>0&&b.length()>0){
39:             %><computer:computer numberA="<%=a%>" numberB="<%=b%>" operator="<%=operator%>" />
40:             璁$畻缁撴灉鏄?細<%=a%><%=operator%><%=b%>=<%=result%>
41:                 <%}%>
42:         </font>
43:     </body>

解决方案

乱码了,编码不对,你试试把中文去掉,如果正常了就是编码问题,检查下你对容器编码设置

解决方案二:

org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 40 in the jsp file: /inputnumber.jsp
result cannot be resolved to a variable

很明显,result不能被解析为一个变量。需要通过getAttribute获得。

解决方案三:

改了下

 计算结果:<%=a%><%=operator%><%=b%>=<%=request.getAttribute("result")%>

运行结果:
计算结果:5+8=null
出不了值 一直是=null

时间: 2024-12-26 15:29:45

异常-jsp中response实验,为什么出不了结果的相关文章

jsp标签-在JSP中抛出java.io.IOException: tmpFile.renameTo(classFile) failed异常怎么解决

问题描述 在JSP中抛出java.io.IOException: tmpFile.renameTo(classFile) failed异常怎么解决 在JSP中抛出java.io.IOException: tmpFile.renameTo(classFile) failed异常怎么解决 解决方案 你确定不是控制台抛出而是JSP抛出! 解决方案二: java.io.IOException: tmpFile.renameTo(classFile) failedjava.io.IOException:

页面显示-为什么页面上 显示不出jsp中label 里的文字 求大神指教

问题描述 为什么页面上 显示不出jsp中label 里的文字 求大神指教 为什么页面上 显示不出jsp中label 里的文字 求大神指教 解决方案 你要显示什么东西?把代码贴出来 解决方案二: 你这是表格还是div的?如果是表格的话应该就没有这问题吧.div的话可能被覆盖了.div的话可以这样试试: 密码 相关文章 java web-.jsp页面中如何把文字写在图片上想要的位置? jsp-在一个JSP页面显示显示两张表的数据,求大神求好心淫 帮帮我~~~~~~ java web-求大神指教关于J

数字异常-在jsp中怎么处理大型数字出现异常现象

问题描述 在jsp中怎么处理大型数字出现异常现象 在jsp页面显示大型数字比如123456.6675,会出现类似这样的数字123456.667498782323,用这个DecimalFormat(formt).format(number)方法,如果你格式定成"#.####"出现数字123456.6674而不是四舍五入的数字,还有其它办法没

id 成数组的传值-jsp弹出框传值问题(一个jsp 点击按钮弹出另一个jsp,选中记录带回数据显示在指定框中)

问题描述 jsp弹出框传值问题(一个jsp 点击按钮弹出另一个jsp,选中记录带回数据显示在指定框中) 如图,共有两个jsp: 一:add.jsp:二:select.jsp 其中在add.jsp上点击请选择按钮,弹出select.jsp页面,选择之后点击确定,应该如何将值传递回来,我知道是那个通过url携带参数,但是我一直写不对.下面附上两个jsp页面的源码: ## # [1.add.jsp]: <script> function openwindow(){ window.showModalD

jsp中链接mysql安装驱动的出现异常,求指导

问题描述 jsp中链接mysql安装驱动的出现异常,求指导 jsp中已经导入mysql的jdbc,调试仍然显示: javax.servlet.ServletException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 解决方案 在页面上静态导入这个类试下. 解决方案二: mysql的驱动包放在构建路径里面了吗?

从jsp中调用Applet,出现java.lang.reflect.InvocationTargetException异常

问题描述 项目中通过jsp访问硬件,使用Applet访问硬件com串口,但是,从jsp中访问applet中的方法时,提示java.lang.reflect.InvocationTargetException错误,此方法中包括了访问硬件com串口的类.另外,单独作为一个application运行这样applet,是正常的. 解决方案 解决方案二:LZ把堆栈最好都贴出来,如果可以还有报错代码段.解决方案三:是不是你引入了其他的Jar包,但是这个Applet找不到这个Jar包导致的这种包冲突最难搞了

JSP页面无法在指定的子框架中显示,哪里出错了

问题描述 这是left.jsp,其中点击客户管理,希望lookClient.jsp页面在main子框架中显示,以下是left.jsp代码:<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"

jsp中page指令用法详解_JSP编程

本文实例讲述了jsp中page指令用法.分享给大家供大家参考.具体如下: 一.JSP 指令 JSP 指令(directive)影响由 JSP 页面生成的 servlet 的整体结构.下面的模板给出指令的两种可能形式.属性值两边的双引号可以替换为单引号,但引号标记不能完全省略.如果要在属性值中使用引号,则要在它们之前添加反斜杠,' 使用 \'," 使用 \" <% directive attribute="value" %> <% directive

jsp问题-jsp中模糊查询,后台没有出错,为什么实现不了?

问题描述 jsp中模糊查询,后台没有出错,为什么实现不了? 点击查找只是刷新页面,后台没有问题,但是又实现不了 具体代码: <% request.setCharacterEncoding("utf-8"); %> <%! private static final String DBDRIVER ="org.gjt.mm.mysql.Driver"; private static final String DBURL ="jdbc:mysq