下面的函数,想的挺好, 就是调试不通.....我想做的就是执行SQL语句返回第一个参数对应的值,
麻烦哪位老鸟指点一下, 问一下 ,<%! 这么写, 是什么意思,我查一些资料说是全局变量的意思... 迷糊.... 希望讲解一下,
代码如何调试通... 下面代码报错...
以下代码 页面里面 都正常运行, 我现在就是想写函数, 就在JSP页面里面写....<%!String Gets(String sqlmyVar)
{
String Temp=null;
Statement stmtmyVar=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
//out.print(sqlmyVar);
ResultSet RsmyVar=stmtmyVar.executeQuery(sqlmyVar);
RsmyVar.next();
Temp=RsmyVar.getString(1);
RsmyVar.close();
stmtmyVar.close();
return Temp;
}%>
麻烦哪位老鸟指点一下, 问一下 ,<%! 这么写, 是什么意思,我查一些资料说是全局变量的意思... 迷糊.... 希望讲解一下,
代码如何调试通... 下面代码报错...
以下代码 页面里面 都正常运行, 我现在就是想写函数, 就在JSP页面里面写....<%!String Gets(String sqlmyVar)
{
String Temp=null;
Statement stmtmyVar=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
//out.print(sqlmyVar);
ResultSet RsmyVar=stmtmyVar.executeQuery(sqlmyVar);
RsmyVar.next();
Temp=RsmyVar.getString(1);
RsmyVar.close();
stmtmyVar.close();
return Temp;
}%>
解决方案 »
- 一段代码.高人来帮忙看看有没有问题?
- ajax通过Post传值,但是接收页面怎么娶不到值,值为null
- tomcat报错
- jbuilder2006+jboss中写个简单的jsp,出错:Invocation Error
- session设值取值问题
- 超急!!!!!!!!!下周就要答辩,就差这么一点点,请大家都来看看帮帮忙
- 最后无法编译,我照它说的做了 可还是不行!!??
- 如何将页面的选择表示字符集项屏蔽掉!高分求教!
- 修改用户资料问题?
- 高手进来看看!郁闷死我了!!急急 在线等!
- 网上居然搜不到 : 网页排序 怎样变成输出大写数字
- 大家帮忙下,关于core jsf 2的一个问题.第一次jsf程序 !~~~~
<%! 声明 这里定义的变量是全局变量%><% 脚本 这里定义的是局部变量%><%=对象%>
你的conn 从哪里来的?为何没有获取以及释放Connection的代码?
conn.createStatement??在代码的最上面已经声名了, 不知道您会ASP 不, 我的模式就是跟着ASP的下来的,
代码里面都是流程划的.代码里面没用使用任何javabean...现在有个地方需求重复查找一些数据, 我把那个代码用类的形式写就能过去? 我试试. ... 迷糊中 所以求教
Temp=RsmyVar.getString(1); 这段代码你确定是正确的么???我记着.next()这个方法会反回boolean类型值啊??你应该用个IF或者WHILE判断吧???不知道我说的对不对,小弟也是新手。只是提出自己看到的一点问题,至于对不对,还请高手赐教哈!
<%%>声明的变量都在_jspService()方法里面
代码本身没有问题,如果你确认肯定有返回结果,就无需判断,直接next();
否则,你提到的就是正确的
if(rs.next(){
..
}
...
<HTML>
<HEAD>
<TITLE>test.jsp</TITLE>
</HEAD>
<BODY>
<%@ page import="java.io.*"%>
<%!
public void outtopage( JspWriter out,int No)
{ try{
if (No==1)
out.print("a");
if (No==2)
out.print("b");
}catch(Exception e){}
}
%>
<%outtopage(out,2);%>
Place test.jsp's content here.
</BODY>
</HTML>
不用JAVABEAN
JSP页面最终是被容器解释成为Servlet的,JSP页面中的代码被解释为其生成的Servlet中的doService方法内的代码.但如果加上了感叹号,则相当于在Servlet中重新定义了一个方法:
<%! //此处有感叹号
private String aVariableOfClassScope; private void aMethod(){
...;
}
%>
<% //此处无感叹号,代码将会在doService方法中
...;
%>
如果想达到相互调用的效果,起始页也是有方法的
简单的途径是将
<%!%>
中定义的方法修改为静态方法
不过不建议这个做
因为这样做还不如专门写个工具类里面全是静态方法在jsp中只要import一下就可以了
复杂的途径是
所有的jsp起始都将编译为servlet
而这个些servlet都继承一个同一个父类
你去复写这个父类为他多添加接口...
很难说清楚了,所以建议用struts吧
<%! public String fun(String aa){
System.out.println("ddddddddd");
String bb="fff";
return bb;
}
%>
<%页面得到要查询的字段的值,再提交本页,调用一个方法,显示数据
%>
String bb="";
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection conn;
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:2433;User=sa;Password=sa;DatabaseName=pubs");
Statement st = conn.createStatement();
String sql="select * from ordertable";
ResultSet rs=st.executeQuery(sql);
rs.next();
bb=rs.getString(1);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return bb;
}
%>
<%
String bb=fun("aaa");
System.out.println(bb);
%>
可以
我的conn 已经在 我函数的上方定义了, 属于全局变量 那个对象也引用了
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.ResultSet"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Test.jsp</title>
</head>
<body>
<%!
String gets(String sqlVal){
String temp = null;
Connection conn = null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;databaseName=pubs","sa","aa");
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery(sqlVal);
rs.next();
temp = rs.getString(1);
rs.close();
s.close();
conn.close();
}catch (Exception ex) {
ex.printStackTrace();
}
return temp;
}
%>
<p><%=gets("select * from authors") %></p>
</body>
</html>