我想在JSP文件中嵌入代码来禁止右键的点击!请问如何实现!谢谢!
有script可以限制这个
我试了可是没用!就是没反应~是不是这个页面有问题啊?大家帮忙看看!谢谢了!
<%@ page language="java" pageEncoding="utf-8" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.text.*" %>
<%@ page import="java.net.*" %>
<%@ page import="webreader2.*" %>
<%@ page import="com.documentum.fc.client.*" %>
<%@ page import="com.documentum.fc.common.*" %>
<%@ page contentType="text/html;charset=utf-8" %>
<head>
<link rel="stylesheet" type="text/css" href="tab_styles.css">
</head>
<html>
<body>
<center>
<%
try {
Search s = new Search(); // Suchobjekt erstellen
StringBuffer html = new StringBuffer(); // Puffer f� html Code
String DQL;
String viewmode;
int lines = 20; // Zeilen pro Seite (Default)
int linecount;
int hitcount;
int hitlimit;
int firstline;
// Hilfsvariablen
int idx;
String str;
// Applikations-Parameter aus Session Variablen lesen
Properties params = (Properties) session.getAttribute("Properties");
// Trefferliste oder Leuchtpult
viewmode = (String) session.getAttribute("ViewMode");
if (viewmode == null)
viewmode = "hitlist";
else
viewmode = "lightbox";
// Beim ersten Aufruf ist "firstline" nicht gesetzt
if (request.getParameter("firstline") == null) {
/* -----------------------------------------------
Erster Aufruf: Parameter initalisieren
*/
// Konfigurationsbezeichnung ist CGI Parameter
String sConfig = (String) request.getParameter("config");
// Formatierungsangaben f� Trefferliste in Tabelle umwandeln
// Dabei 2 Leerspalten f� Attributtyp und Suchbegriff einf�en
str = params.getProperty(sConfig + "." + viewmode);
if (str == null)
throw new IllegalArgumentException("Config Parameter not found: '" + sConfig + "." + viewmode);
str = str.replaceAll("[)]","),");
s.aformat = str.split ("[(),]");
// Formatierungsangaben f� Infoseite in Tabelle umwandeln
// Dabei 1 Leerspalte f� Suchbegriff einf�en
str = params.getProperty(sConfig + ".info");
if (str == null)
throw new IllegalArgumentException("Config Parameter not found: '" + sConfig + ".info");
str = str.replaceAll("[:]",":,");
s.ainfo = str.split ("[:,]");
// Doctyp aus Suchformular oder Konfigdatei (sekund�)
s.doctype = (String) request.getParameter("doctype");
if (s.doctype == null)
s.doctype = params.getProperty(sConfig + ".doctype");
if (s.doctype == null)
throw new IllegalArgumentException("Config Parameter not found: '" + sConfig + ".doctype");
/* -----------------------------------------------
DQL aus den Formulardaten bilden
*/
// Zus�zliche Parameter setzen
s.foldertype = (String) request.getParameter("foldertype"); // Optional
s.rootpath = params.getProperty("rootpath");
s.ftindex = (String) request.getParameter("ftindex"); // Optional
// DQL aus Formulardaten bilden
// Formatierungsangaben werden dabei erg�zt
str = request.getQueryString();
out.println ("<!-- CGI : " + str + " -->"); // Kontrollausgabe
DQL = s.buildDQL (str,(String) request.getParameter("query"));
// DQL und Formatierungsangaben f� Trefferliste und Infoseite speichern
session.setAttribute("SearchDQL",DQL);
session.setAttribute("DocType",s.doctype);
session.setAttribute("DispFormat",s.aformat);
session.setAttribute("InfoFormat",s.ainfo);
// Suchparameter f� ersten Aufruf setzen
firstline = 1;
hitcount = -1; // Trefferanzahl bestimmen
// Max. Trefferzahl ist optionaler Aufrufparameter
if (request.getParameter("maxrows") != null)
hitlimit = Integer.parseInt(request.getParameter("maxrows"));
else
hitlimit = 0;
} // if (erster Aufruf)
else {
/* -----------------------------------------------
Folgeaufruf: DQL und Parameter wieder herstellen
*/
// Session Variablen auslesen (beim ersten Durchlauf erzeugt)
DQL = (String) session.getAttribute("SearchDQL");
s.doctype = (String) session.getAttribute("DocType");
s.aformat = (String[]) session.getAttribute("DispFormat");
hitcount = Integer.parseInt((String) session.getAttribute("HitCount"));
// firstline ist Aufrufparameter
firstline = Integer.parseInt(request.getParameter("firstline"));
hitlimit = 0;
}
/* -----------------------------------------------
DQL ausf�ren, Trefferliste als html String ermitteln
*/
// dfcSession aus JSP Session Variable lesen
s.dfcSession = (IDfSession) session.getAttribute("dfcSession");
if (s.dfcSession == null) throw new IllegalArgumentException("No Session, please Login");
// Sortierung ber�ksichtigen, Attribut ist Aufrufparameter
str = request.getParameter("orderby");
if (str != null) {
// DQL anpassen und speichern
DQL = s.setDQLOrder (DQL,str);
session.setAttribute("SearchDQL",DQL);
hitcount=-1; // Tefferanzahl neu bestimmen (wg. Repeating Attributen)
}
// Parameter f� Trefferliste setzen
s.rootpath = params.getProperty("rootpath");
s.rootfolder = params.getProperty("rootfolder");
s.appname = (String) session.getAttribute("AppName");
// Zeilen pro Seite festlegen
str = params.getProperty("pagelines");
if (str != null) lines = Integer.parseInt(str);
// DQL Abfrage durchf�ren
IDfCollection col = null;
IDfQuery q = new DfQuery();
q.setDQL( DQL );
col = q.execute(s.dfcSession, DfQuery.DF_READ_QUERY);
// Collection zeilenweise auswerten
linecount = 0;
while(col.next()) {
linecount++;
if (linecount >= (firstline + lines)) {
// Seitenende erreicht: Abbruch, falls Trefferzahl bekannt oder Limit erreicht
if ((hitcount >= 0) || ((hitlimit > 0) && (linecount >= hitlimit))) break;
}
else if (linecount >= firstline) {
if (viewmode.equals("hitlist")) {
// Trefferliste
html.append (s.buildObjLine (col.getTypedObject(),0,0));
}
else {
// Leuchtpult
html.append ("<td>"+ s.buildImgArray (col.getTypedObject(),0) + "</td>");
if ((linecount%5) == 0) html.append ("</tr><tr>"); // Neue Zeile
}
}
}
col.close(); // Collection schliessen
// Trefferzahl aktualisieren und speichern
if (hitcount < 0) {
hitcount = linecount;
}
session.setAttribute("HitCount",Integer.toString(hitcount));
/* -----------------------------------------------
html Antwort erzeugen
*/
// Seitenstart mit DQL Kontrollausgabe als html Kommentar
out.println ("<!-- DQL : " + DQL + " -->");
// Links und Zeilenanzeige f� Bl�terfunktion
out.println ("<table border=0 cellspacing=0><tr>");
// Links auf erste und vorherige Seite
if (firstline>lines) {
out.println("<td width=40 align=center><A HREF=\"hitlist.jsp?firstline=1\">");
out.println("<img src=\"../pics/e_first.gif\" alt=\"First Page\" border=0></A><br>First<td>");
out.println("<td width=40 align=center><A HREF=\"hitlist.jsp?firstline=" + Integer.toString(firstline - lines) + "\">");
out.println("<img src=\"../pics/e_prev.gif\" alt=\"Previous Page\" border=0></A><br>Back</td>");
}
else {
// Erste Seite, Links deaktiviert
out.println("<td width=40 align=center><img src=\"../pics/e_first_off.gif\" border=0><br> </td>");
out.println("<td width=40 align=center><img src=\"../pics/e_prev_off.gif\" border=0><br> </td>");
}
// Zeilenummern von
out.println("<td width=180 align=center>Object ");
if (firstline < linecount) {
out.println(Integer.toString(firstline) + "-");
}
// Zeilennumer bis und Links auf n�hste und letzte Seite
if (linecount >= (firstline + lines)) {
out.println(Integer.toString(firstline + lines - 1));
out.println(" of " + Integer.toString(hitcount) + "</td>");
out.println("<td width=40 align=center><A HREF=\"hitlist.jsp?firstline=" + Integer.toString(firstline + lines) + "\">");
out.println("<img src=\"../pics/e_next.gif\" alt=\"Next Page\" border=0></A><br>Next</td>");
out.println("<td width=40 align=center><A HREF=\"hitlist.jsp?firstline=" + Integer.toString(1+lines*((hitcount-1)/lines)) + "\">");
out.println("<img src=\"../pics/e_last.gif\" alt=\"Last Page\" border=0></A><br>Last</td>");
}
else {
// letzte Seite, Links deaktiviert
out.println(Integer.toString(linecount));
out.println(" von " + Integer.toString(hitcount) + "</td>");
out.println("<td width=40 align=center><img src=\"../pics/e_next_off.gif\" border=0><br> </td>");
out.println("<td width=40 align=center><img src=\"../pics/e_last_off.gif\" border=0><br> </td>");
}
// Druckansicht
out.println("<td width=40> </td>");
out.println("<td width=40 align=center><A HREF=\"printlist.jsp\" target=\"wr2print\">");
out.println("<img src=\"../pics/e_print.gif\" alt=\"All Objects\" border=0></A><br>Print</td>");
// Ende Kopfzeile
out.println("</tr></table><br>");
if (viewmode.equals("hitlist")) {
// Trefferliste mit Spaltentiteln ausgeben
out.println("<table class=hitlist width=\"100%\" cellspacing=2 cellpadding=2><tr>");
for (idx=0; idx<s.aformat.length; idx+=4) {
out.println("<td width=\"" + s.aformat[idx+1] + "%\">");
if (s.aformat[idx+3].charAt(0) == '$') {
out.println("<b>" + s.aformat[idx] + "</b></td>");
}
else {
// Spaltentitel als Link f� Sortierung
out.println("<b><A HREF=\"hitlist.jsp?firstline=1"); // Bei Zeile 1 beginnen
out.println("&orderby=" + s.aformat[idx+3]);
out.println("\">" + s.aformat[idx] + "</A></b></td>");
}
}
out.println ("</tr>\n");
out.println(html); // Trefferliste
out.println("</table>");
}
else {
// Leuchtpult (ohne Spaltentitel) ausgeben
out.println("<table class=hitlist width=\"100%\" cellspacing=2 cellpadding=2><tr>");
out.println(html);
out.println("</tr></table>");
}
}
catch(Exception PageException) {
out.println("Error in hitlist.jsp:" + PageException);
}
%>
</center>
</body>
</html>
解看,ie打开,我就不信你能右键,声明,其他浏览器未测试过,ie下ok!
[此贴子已经被作者于2007-11-9 14:11:50编辑过]