技术难难题:Type mismatch: cannot convert from int to String 加分的
message
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: 9 in the jsp file: /cart/cart_order.jsp
Generated servlet error:
Type mismatch: cannot convert from int to String
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:409)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.12 logs.
代码如下:<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.util.Vector"%>
<%@ page import="beans.teaelement"%>
<%@ page import="java.util.Date"%>
<jsp:useBean id="connDB" scope="page" class="beans.connDB"/>
<jsp:useBean id="chStr" scope="page" class="beans.chStr"/>
<jsp:include page="safe.jsp"/>
<%
String username=chStr.chStr(request.getParameter("username"));
String truename=chStr.chStr(request.getParameter("truename"));
String address=chStr.chStr(request.getParameter("address"));
String postcode=request.getParameter("postcode");
String tel=request.getParameter("tel");
String pay=chStr.chStr(request.getParameter("pay"));
//out.println("<script>alert(' pay= "+String.valueOf(pay)+" ')</script>");
String carry=chStr.chStr(request.getParameter("carry"));
String email=request.getParameter("email");
String bz=chStr.chStr(request.getParameter("bz"));
String orderID=String.valueOf(Math.random()).substring(5,15);
//orderID随即生成,10位
//out.println("<script>alert(' orderID= "+String.valueOf(orderID)+" ')</script>");
Vector cart=(Vector)session.getAttribute("cart");
int number=0;
float price=0;
float sum=0;
float Totalsum=0;
String flag="True";
int temp=0;
//插入订单主表数据
int tnumber=cart.size();
// out.println("<script>alert(' tnumber= "+tnumber+" ')</script>");
// 测试 tnumber,正确
String sql="insert into ORDER_(ORDERID,TNUMBER,USERNAME,TURENAME,ADDRESS,ZIPCODE,TEL,EMAIL,PAY,CARRY,ORDERDATE,BEIZHU,SUMMDE,STATE) values('"+orderID+"',"+tnumber+",'"+username+"','"+truename+"','"+address+"',"+postcode+",'"+tel+"','"+email+"','"+pay+"','"+carry+"',getdate(),'"+bz+"',"+Totalsum+",'1')";
//out.print(sql+"*****");
//插入日期用oracle自带的getdate()
temp=connDB.executeUpdate(sql);
out.println(sql);
if (temp==0){
flag="false";
// out.println("<script>alert('temp= "+String.valueOf(temp)+" ')</script>");
}else{
orderID=temp;
out.println("<script>alert(' temp= "+String.valueOf(temp)+" ')</script>");
}
//插入订单明细表数据
for(int i=0;i<cart.size();i++){
teaelement myteaelement=(teaelement)cart.elementAt(i);
String COMMODITYID=myteaelement.COMMODITYID;
price=myteaelement.price;
number=myteaelement.number;
sum=price*number;
String sql_companyid="select COMMODITYNAME,COMPANYNAME,QUANTITY from TEA_INFO where COMMODITYID='"+COMMODITYID+"'";
ResultSet rs_company=connDB.executeQuery(sql_companyid);
String COMPANYNAME="";
if(!rs_company.next()){
session.invalidate();
out.println("<script language='javascript'>alert('rs_company出错!');window.location.href='index.jsp';</script>");
return;
}else{
COMPANYNAME=rs_company.getString("COMPANYNAME");}
String id=String.valueOf(Math.random()).substring(6,17);
String str="insert into ORDER_DETAIL (ID_,ORDERID,COMMODITYID,PRICE,NUMBER_,COMPANYNAME) values('"+id+"','"+orderID+"','"+COMMODITYID+"',"+price+","+number+",'"+COMPANYNAME+"')";
temp=connDB.executeUpdate(str);
out.println(str);
//更新已卖商品数量
String sql_snumber="update TEA_INFO set SNUMBER=SNUMBER+'"+number+"'where COMMODITYID='"+COMMODITYID+"'";
temp=connDB.executeUpdate(sql_snumber);
String COMMODITYNAME=rs_company.getString("COMMODITYNAME");
//更新库存量
int QUANTITY=rs_company.getInt("QUANTITY");
QUANTITY=QUANTITY-number;
if(QUANTITY>=0){
String sql_q="update TEA_INFO set QUANTITY='"+QUANTITY+"'where COMMODITYID='"+COMMODITYID+"'";
temp=connDB.executeUpdate(sql_q);
}
else{
out.println("<script language='javascript'>alert('商品"+COMMODITYNAME+"库存量不足,生成订单失败');window.location.href='../../Cars/cart/cart_see.jsp';history.back();</script>");
//temp=0;
}
Totalsum=Totalsum+sum;
//out.println(Totalsum);
if (temp==0){
flag="false";
}
}
if(flag.equals("false")){
out.println("<script language='javascript'>alert('订单无效');history.back();</script>");
}
else
{
session.removeAttribute("cart");
out.println("<script language='javascript'>alert('订单生成,请记住您的订单号["+orderID+"]');window.location.href='/Cars/index.jsp';</script>");
}
connDB.close();
%>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
javabean代码如下:// Source File Name: teaelement.java
package beans;
public class teaelement
{
public teaelement()
{
}
public String COMMODITYID;
public float price;
public int number;
}
我知道应该是这里有问题:else{
orderID=temp;
out.println("<script>alert(' temp= "+String.valueOf(temp)+" ')</script>");
}
省略了它的话没有出错,但数据库存添加不了.
相关推荐
深入理解:Java是类型安全的语言,而C++是非类型安全的语言
有过C++开发经验的人会发现,我们可以将0作为false,非零作为true。一个函数即使是bool类型的,但是我们还是可以返回int类型的,并且自动将0转换成false,非零转换成true。代码实例如下: 代码如下:#include<iostream> #include<stdlib> using namespace std; bool fun()//函数返回类型是bool,但是我们在函数中可以返回int类型。 { return 1; } void main() { int a=1; if(a)//a是int类型的,但是可以作bool类型来使用。 {
自然场景OCR全链路实战:TensorFlow检测+PyTorch识别+ONNX协同
自然场景OCR是将真实街景图像转化为结构化文本的关键技术,其核心在于文字检测与序列识别的联合建模。检测需应对倾斜、模糊、低对比度等复杂视觉挑战,识别则要解决中文字符集庞大、长序列建模难、端到端对齐等问题。TensorFlow凭借成熟生态适合构建鲁棒检测模型(如EAST),PyTorch在序列建模(CRNN+CTC)和硬件适配(Jetson/RK3588)上更具灵活性,而ONNX成为跨框架协同的工业级桥梁。该技术栈广泛应用于智能巡检、边缘OCR终端与国产AI芯片部署,支撑从毕业设计到轻量级落地的完整闭环。
Gemma 4B手机端部署实战:ARM量化+JNI集成全链路教程
大语言模型(LLM)在移动端的本地化部署,是实现隐私保护、低延迟交互与离线AI能力的关键路径。其核心原理在于通过模型量化(如4-bit GGUF)大幅压缩参数体积与内存占用,并借助C/C++推理引擎(如llama.cpp)绕过Python依赖与模拟层,直接调用ARM CPU指令集完成高效推理。该技术显著降低对云端API的依赖,提升数据安全性与响应实时性,广泛适用于智能助手、离线翻译、终端RAG等边缘AI场景。本文聚焦Gemma 4B模型在安卓手机的真实落地,深入解析Q4_K_M量化选型依据、Android
Gemini 3.5 Flash:实时代理架构如何重写AI响应范式
大语言模型的‘低延迟’已从单纯推理加速,演进为面向人机协同的系统级重构。其核心在于将模型推理、工具调度、多模态解码与内存管理深度耦合,实现毫秒级响应闭环——这正是‘Flash’所代表的工程本质:类闪存芯片的随机访问能力与零拷贝流水线。该范式突破传统HTTP API调用瓶颈,支撑实时交互、自动代理与上下文感知等关键能力,广泛应用于知识工作流自动化、AI原生应用开发及教育沙盒环境。Gemini 3.5 Flash正是这一技术跃迁的典型代表,标志着AI服务正从‘按需唤醒’迈向‘始终在线’。
新型电力系统下PI-LSTM物理信息长短期记忆神经网络的电力变压器状态评估方法(Matlab代码实现)
内容概要:本文提出了一种基于物理信息长短期记忆神经网络(PI-LSTM)的电力变压器状态评估方法,旨在适应新型电力系统对设备状态精准评估的需求。该方法将物理规律作为先验知识融入LSTM网络,通过构建包含变压器热力学、电气特性等物理约束的损失函数,提升模型在数据稀疏或噪声干扰下的泛化能力与解释性。利用Matlab实现了PI-LSTM模型的搭建、训练与验证,通过实际案例对比传统LSTM与PI-LSTM在状态参数预测精度、趋势拟合度及异常检测敏感性方面的表现,证明了所提方法的有效性和优越性,为变压器等关键电力设备的智能运维提供了新的技术路径。; 适合人群:从事电力系统、智能电网、设备状态监测与故障诊断研究的科研人员、工程技术人员及高校研究生。; 使用场景及目标:①应用于新型电力系统中电力变压器的健康状态评估与预测性维护;②为掌握物理信息神经网络(PINN)在电力系统中的融合应用提供Matlab实践范例; 阅读建议:建议读者结合Matlab代码深入理解PI-LSTM的网络结构设计、物理约束项的数学表达与代码实现细节,并尝试在不同工况数据集上复现和测试,以充分掌握其在提高模型物理一致性与预测可靠性方面的核心优势。


Web 开发
