① 如何在JSP中定义一个方法,并在方法中得到session中的一个值,然后显示相应的内容
JSP里就算是一个方法体了. JAVA中是不能在方法中定义方法的, 但是可以定义一个内部类, 重载类中的方法, 然后调用内部类的方法.
如:
final Session s = request.getSession();
new org.apache.commons.collections.Closure() {
public void execute(Object o) {
s.xxx()
}
}.execute()
② jsp如何定义一个方法
<%! public void fun(){
System.out.print("000");
} %>
③ jsp页面如何调用Servlet中自己定义的一个方法
jsp要调用servlet中自定义的方法需要把自定的方法放在doPost或者doGet或者init方法中。
举例如下:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloWorldServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
super.doGet(req, resp);
System.out.println("doGet");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
super.doPost(req, resp);
//调用自定义方法
returnBack(req,resp);
System.out.println("doPost");
}
//这里是自定义方法
public void returnBack(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
System.out.println("really!go home");
}
}
④ jsp定义函数
//取得网络上的打印机
function
getnetprinter()
{
var obj=new
ActiveXObject("WScript.Network");
var
netprinter=obj.EnumPrinterConnections();
for(i=0;i<netprinter.Count();i+=2)
{
document.writeln(netprinter.Item(i)+"="+netprinter.Item(i+1));
}
}
//取得磁盘信息 传入参数如:getdiskinfo('c')
function
getdiskinfo(para)
{
var fs=new
ActiveXObject("scripting.filesystemobject");
d=fs.GetDrive(para);
s="卷标:" + d.VolumnName;
s+="------" +
"剩余空间:" + d.FreeSpace/1024/1024 + "M";
s+="------" + "磁盘序列号:" +
d.serialnumber;
alert(s)
}
//取得系统目录
function
getprocessnum()
{
var pnsys=new
ActiveXObject("WScript.shell");
pn=pnsys.Environment("PROCESS");
alert(pn("WINDIR"));
}
//启动计算器
function runcalc()
{
var
calc=new ActiveXObject("WScript.shell");
calc.Run("calc");
}
//读取注册表中的值
function readreg()
{
var
myreadreg=new ActiveXObject("WScript.shell");
try{
alert(myreadreg.RegRead("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\NeroCheck"));
}
catch(e)
{
alert("读取的值不存在!");
}
}
//写注册表
function
writereg()
{
var mywritereg=new
ActiveXObject("WScript.shell");
try{
mywritereg.RegWrite("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MyTest","c:\\mytest.exe");
alert("写入成功!");
}
catch(e)
{
alert("写入路径不正确!");
}
}
//删除注册表
function
delreg()
{
var mydelreg=new
ActiveXObject("WScript.shell");
if(confirm("是否真的删除?"))
{
try{
mydelreg.RegDelete("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\MyTest");
alert("删除成功!");
}
catch(e)
{
alert("删除路径不正确");
}
}
}
//取得计算机名域名用户名
function
netinfo()
{
var mynetinfo=new
ActiveXObject("WScript.network");
alert("计算机名:"+mynetinfo.ComputerName+"域名:"+mynetinfo.UserDomain+"用户名:"+mynetinfo.UserName);
}
//返回系统中特殊目录的路径
(Fonts,AllUsersDesktop,Desktop,MyDocuments,Recent.....)
function
getspecialfolder()
{
var mygetfolder=new
ActiveXObject("WScript.shell");
if(mygetfolder.SpecialFolders("Fonts")!=null)
{
alert(mygetfolder.SpecialFolders("Fonts"));
}
}
//取得文件信息
调用方式如:getfileinfo('E:\\MyPlace\\TEST\\myjs.htm')
function
getfileinfo(para)
{
var myfile=new
ActiveXObject("scripting.filesystemobject");
var
fi=myfile.GetFile(para);
alert("文件类型:"+fi.type+"文件大小:"+fi.size/1024/1024+"M"+"最后一次访问时间:"+fi.DateLastAccessed);
}
//取得客户端的信息
function
clientInfo()
{
strClientInfo="availHeight=
"+window.screen.availHeight+"\n"+
"availWidth=
"+window.screen.availWidth+"\n"+
"bufferDepth=
"+window.screen.bufferDepth+"\n"+
"colorDepth=
"+window.screen.colorDepth+"\n"+
"colorEnable=
"+window.navigator.cookieEnabled+"\n"+
"cpuClass= "+window.navigator.cpuClass+"\n"+
"height= "+window.screen.height+"\n"+
"javaEnable=
"+window.navigator.javaEnabled()+"\n"+
"platform= "+window.navigator.platform+"\n"+
"systemLanguage=
"+window.navigator.systemLanguage+"\n"+
"userLanguage=
"+window.navigator.userLanguage+"\n"+
"width=
"+window.screen.width;
alert(strClientInfo);
}
//Dilog
Helper对象的使用
function changeColor()//Dilog Helper对象的使用之调用系统调色板
{
var
sColor=dlgHelper.choosecolordlg();
sColor=sColor.toString(16);
if
(sColor.length < 6) {
var sTempString =
"000000".substring(0,6-sColor.length);
sColor =
sTempString.concat(sColor);
}
alert(sColor);
mybody.style.backgroundColor=sColor;
}
function
getFonts()//Dilog Helper对象的使用之取得系统支持的字体
{
var
strFonts="";
for(var i=1;i<dlgHelper.fonts.count;i++)
{
strFonts=strFonts+dlgHelper.fonts(i)+"|";
}
alert(strFonts);
}
function getBlockFormat()//Dilog
Helper对象的使用之取得系统中块的格式信息(如:标题1、标题2....)
{
var
strBlockFormat="";
for(var
i=1;i<dlgHelper.BlockFormats.count;i++)
{
strBlockFormat=strBlockFormat+dlgHelper.BlockFormats(i)+"|";
}
alert(strBlockFormat);
}
function
createTxtLink()//给选中的文本创建链接
{
var
sText=document.selection.createRange();
if(sText.text!="")
{
document.execCommand("CreateLink");
if(sText.parentElement().tagName=="A")
{
sText.parentElement().innerText=sText.parentElement().href;
document.execCommand("ForeColor",false,"#ffff00");
}
}
}
//以下为取得BlockFormats,填充Select(id为myselect)并根据选择不同的BlockFormat改变样式
//函数fillselect()和changeformat()
//对execCommand的一点说明:Executes
a command over the given selection or text range
function
fillselect()
{
var item=document.createElement("OPTION")
item.text="请选择";
item.value="";
myselect.add(item);
for(var
i=1;i<dlgHelper.BlockFormats.count;i++)
{
item=document.createElement("OPTION");
item.text=dlgHelper.BlockFormats(i);
item.value="http://blog.77169.com/dlgHelper.BlockFormats(i);
"
myselect.add(item);
}
}
function changeformat()
{
var sSelect=myselect.options[myselect.selectedIndex].value;
document.execCommand("FormatBlock",false,sSelect);
}
//取得驱动器类型,调用如:ShowDriveType('c:')
function
ShowDriveType(drvpath)
{
fs=new
ActiveXObject("scripting.filesystemobject");
disk=fs.GetDrive(drvpath);
var whichtype="";
switch(disk.DriveType)
{
case 0:
whichtype="Unknown"
break
case 1:
whichtype="Removable"
break
case 2:
whichtype="Fixed"
break
case 3:
whichtype="Network"
break
case 4:
whichtype="CD-ROM"
break
case 5:
whichtype="RAM Disk"
}
alert(whichtype);
//显示磁盘的SerialNumber
try{
alert(disk.SerialNumber);
}
catch(e){
alert(e.message);
}
alert(disk.VolumeName);//取得卷标
}
</script>
-------------------------
<OBJECT id=dlgHelper
CLASSID="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b" width="0px"
height="0px"></OBJECT>
⑤ 29. 在JSP程序中若想定义一个方法,必须将该方法放在下列哪种标记里( ) A、< % %> B、<%
C
程序段中不能定义方法 A错
B是写指令如page、include等 B错
D是JSP的注释格式 D错
C是JSP声明,可以定义方法、全局变量、声明类等 所以选C
⑥ jsp页面中如何定义一个方法。
1、在WEB-INF下新建web.xml文件,设置默认主页路径,配置代码见下图。
⑦ java 在 JSP 页面中定义一个方法,如下所示,选择一个正确的答:
答案为C
因为doPrint方法中的out未定义
⑧ 简单!在jsp页面中能直接定义函数么
可以定义函数
要这样
<%!
修饰符 返回值 函数名(参数){
函数体....
}
%>
jsp最终会编译成servlet,servlet其实就是一个指定了格式的java程序,用<%!..%>定义的在servlet中编译成了成员方法或是成员变量。
javascript也可以直接定义函数,类似
<script type="text/javascript">
function chan(obj){....}
</script>
不过调用有所不同,如果是button是onclick(chan(this)),如果是其他的用onchange(chan(this))这样调用。
有时间看下servlet的东西吧,其实所有的jsp文件最终都会被tomcat翻译成一个servlet文件再执行,这也是和asp最大的不同。
⑨ JSP定义类和方法
在回答你的问题之前建议你先好好学一下java基础。
方法必须在类里定义,做个比喻:人是一个类,吃饭、睡觉就是该类的方法。
⑩ 在一个jsp页面如何声明供整个页面使用的变量和方法。请举例
一、变量和方法的声明
1.在<%!与%>之间放置声明变量是页面的成员变量。声明的变量在整个JSP页面都有效。例如
<%!
int i=100;
Data date;
%>
因为JSP引擎转换JSP页面成Java文件时,将这些变量作为类的成员变量,这些变量的内存空间直到服务器关闭才被释放。
所以所有请求该页面的线程共享JSP页面的成员变量,任何用户对该成员变量的操作结果都影响其它客户。
简单页面计数器
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<body>
<%!
int i=0;
%>
<%
i++;
%>
<p>
您是第<%=i%>个访问本站的用户。
</body>
</html>
2. 声明方法
在<%!和%>之间声明的方法在整个JSP页面都有效,但是该方法内定义的变量只在该方法内有效。当多个用户请求一个JSP页面时,可以使用方法操作成员变量。
<%@ page contentType="text/htnl;charset=gb2312"%>
<html>
<body>
<%!
int number=0;
synchronized void contPeople()
{
number++;
}
%>
<%
countPeople();
%>
<p>
您是第<%=number%>个访问客户。
</body>
</html>
将访问人数保存到文本文件中
<%@ page contentType="text/htnl;charset=gb2312"%>
<%@ page import="java.io.*" %>
<html>
<body>
<%!
int number=0;
File file=new File("count.txt");
synchronized void contPeople()
{
if(!file.exists())
{
number++;
try{
file.createNewfile();
FileOutputStream out =new FileOutputStream("count.txt");
DataOutputStream dataOut=new DataOutputStream(out);
dataOut.writeInt(number);
out.close();
dataOut.close();
}
catch(IOException ex){}
}
else
{
try{
FileInputStream in=new FileInputStream("count.txt");
DataInputStream dataIn=new DataInputStream(in);
number=dataIn.readInt();
number++;
in.close();
dataIn.close();
FileOutputStream out =new FileOutputStream("count.txt");
DataOutputStream dataOut=new DataOutputStream(out);
dataOut.writeInt(number);
out.close();
dataOut.close();
}
catch(IOException ex){}
}
}
%>
<%
countPeople();
%>
<p>
您是第<%=number%>个访问客户。
</body>
</html>