導航:首頁 > 編程語言 > jsp大於號

jsp大於號

發布時間:2023-09-03 07:52:13

jsp文件中的<c:when test="${page gt 1}"是什麼意思

gt就是「大於號」,也可以寫成 >!page就是一個變數名字
這段的意思就是page的值大於1的話,會出現一個a標簽

很簡單的代碼,沒什麼花頭的,也沒什麼太多好講的

② html+js+servlet和jsp+servlet的區別

servlet的作用簡單說就是提取出數據,並轉換成html代碼展示出來
jsp其實就是servlet, 只是好看,好編程, 可以吧jsp看成是servlet的可視化界面,因為在伺服器中jsp會先轉換成servlet, 然後發揮上面說的servlet的作用

html+js+servlet 這里的servlet就完全充當控制器了, 做一個html頁面的跳轉, 封裝數據為json返回給html,html用js去做展示布局

③ JSP如何解決特殊字元問題

不懂,從未遇到。其實在字元串裡面只有
雙音號,大於號,小於號等特殊

④ 怎麼區分jsp 中大於號和尖括弧

大於號和尖括弧在同一個鍵位,要想在頁面中顯示大於號,要使用內置的符號串代替。大於號的符號串是:>。

⑤ jsp頁面中<input> 標簽取值不全怎麼辦

要把輸入的內容進行html轉義,對應關系如下:
HTML 原代碼 顯示結果 描述
&lt; < 小於號或顯示標記
&gt; > 大於號或顯示標記
&amp; & 可用於顯示其它特殊字元
&quot; " 引號
&reg; ® 已注冊
&; &; 版權
&trade; ™ 商標
&ensp;  半個空白位
&emsp;  一個空白位
&nbsp; 不斷行的空白

示例代碼如下:
<p>
<% String value = request.getParameter("content");

if (value == null || value.length() == 0) {
value = "";
}
StringBuffer result = null;
String filtered = null;
for (int i = 0; i < value.length(); i++) {
filtered = null;
switch (value.charAt(i)) {
case '<':
filtered = "<";
break;
case '>':
filtered = ">";
break;
case '&':
filtered = "&";
break;
case '"':
filtered = """;
break;
case '\'':
filtered = "'";
break;
}

if (result == null) {
if (filtered != null) {
result = new StringBuffer(value.length() + 50);
if (i > 0) {
result.append(value.substring(0, i));
}
result.append(filtered);
}
} else {
if (filtered == null) {
result.append(value.charAt(i));
} else {
result.append(filtered);
}
}
}
value = (result == null ? value : result.toString());
out.println(value);
%>
<input type="textField" name="content" value="<%=value %>" />
</p>

⑥ 怎麼樣使用jsp中自定義標簽

jsp自定義標簽用法,供大家參考,具體如下:
什麼是標記
使用HTML語言我們可以這樣去編輯我們的網頁:
<HTML>
<HEAD>
<TITLE>
HELLO WORLD
</TITLE>
</HEAD>
<BODY>
HELLO WORLD
</BODY>
</HTML>
在這里我們把</HEAD>,<TITLE>,<BODY>稱為標記。HTML 標記( HTML Markup)是HTML文檔的控制語言,用於指定瀏覽器顯示和列印文檔的方式.它是用小於號"<"和大於號">"括起來的短語和符號,如 <Html>、</Body>等。許多HTMl標記以成對的方式出現,如<TITLE>< /TITLE>、<Body></Body> 等。在JSP中我們也可以定製自己的標記,以供JSP頁面使用,如下例所示:
<!—login.jsp-->
<%@ taglib uri="/tlds/taglib.tld" prefix="tagclass" %>
<html>
<head>
<title>login</title>
</head>
<body>
<tagclass:login width="200" height= "100" >
</tagclass:login>
</body>
</html>
在上例中</tagclass:login>就是一個JSP定製標記符。widtht、height是這個標記的屬性。<%@ taglib uri="/tlds/taglib.tld" prefix="tagclass" %>是一個標記庫定義指令,在稍後我們將會討論。在JSP中定製標記符,實質上就是以標記的形式封裝了一個俱有獨立功能的java類。標記的使用減少了直接嵌入JSP頁面的Java代碼,方便了頁面的布局,並且有利於代碼的復用,提高了開發的效率。
JSP伺服器解析標記的過程
那麼當一個標記被嵌入JSP頁面後,JSP伺服器是如何對這個標記進行解析的呢?各對象的含義如下所示:
Client: 表示客戶端。
JSP-Server:JSP伺服器。
JSP-Page:JSP頁面。
TLD: 標記庫描述文件,定義標記和標記的各種屬性和處理文件等。
TagClass 標記處理程序
當一個用戶訪問一個JSP頁面時,這個請求被發送到JSP伺服器,JSP伺服器會根據這個請求去調用相應的頁面,如果這個頁面中有自定義的標記, JSP服務就會根據頁面指令<%@ taglib>去訪問TLD得到處理程序的相關信息,接著調用該處理程序的構造器方法,啟動標記符處理程序,並讀取標記符的屬性和相應值。對每個沒有設置屬性的,調用相應的set方法。當標記符第一次使用時,它的任何屬性都不會做過設置,因此對每個屬性都調用set方法。屬性設置完以後,JSP伺服器調用處理程序的doStartTag(),然後再調用doEndTag()方法。最後JSP伺服器會繼續處理剩下的頁面,在頁面結尾調用release ()方法,清理佔用的所有資源。
TLD文件
TLD(TLD:Tag Library Descriptor標記庫描述符)文件,標準的XML格式的標記定義文件,被用來存放標記符的信息,下面就是一個典型的TLD文件。
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!—XML的版本及其字元集-->
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
" http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<!—文檔類型定義-->
<taglib>
<!—此標記說明我們開始描述一個標記庫-->
<tlibversion>1.0</tlibversion>
<!—標記庫的版本-->
<jspversion>1.1</jspversion>
<!—所使用的JSP的版本-->
<shortname>tagclass</shortname>
<!—預設的名稱-->
<tag>
<name>login</name>
<!—標記的名稱-->
<tagclass>
tagclass.login.login
<!—處理這個Tag的相應的類的名稱-->
</tagclass>
<info>
<!—對本標記符的描述-->
</info>
<attribute>
<!—開始定義標記的屬性-->
<name>height</name>
<!—屬性的名稱-->
<required>true</required>
<!—表示這個屬性是不是必須的-->
<rtexprvalue>true</rtexprvalue>
<!—表示這個屬性是否可以用JSP的程序段的結果輸出-->
</attribute>
<attribute>
<name>width</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
在這個TLD文件中定義了只有一個標記符的標記符庫,這個名為login的標記符會調用一個Applet以驗證用戶的合法性。處理這個標記的類就是 tagclass.login.login。width、height是這個標記的兩個屬性。屬性是在使用標記符時作為參數發送的值。我們可以在上面的示例中增加幾個標記,也可以為每個標記添加幾個屬性。我們開發標記符庫時不一定非要從頭開始,自己編寫一個全新TLD。我們可以使用某個集成的開發的環境,也可以修改上面的例子。
TagLib指令
那麼當JSP伺服器在解析一個標記符時,它是如何定義一個標記庫的呢?這就是TagLib指令的主要責任。
Taglib 指令
定義一個標記庫以及其自定義標記的前綴.
JSP 語法
復制代碼 代碼如下:
<%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %>
例子
<%@ taglib uri="/tlds/taglib.tld" prefix="tagclass" %>
<html>
<head>
<title>login</title>
</head>
<body>
<tagclass:login width="200" height= "100" >
</tagclass:login>
</body>
</html>
描述
<% @ taglib %>指令聲明此JSP文件使用了自定義的標記,同時引用標記庫,
也指定了他們的標記的前綴。 你必須在使用自定義標記之前使用<% @ taglib %>指令。
屬性
uri="URIToTagLibrary" :Uniform Resource Identifier (URI)根據標記的前綴對自定義的標記進行唯一的命名,URI可以是一個相對或絕對的路徑。
prefix="tagPrefix":在自定義標記之前的前綴。如上例中的</tagclass:login>
標記符的處理程序(Tag handle)
我們還是以一個例子來看下如何實現一個Tag handle。首先是看一下它的類圖:
讓我們再看一下它的代碼:
package tagclass.login;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.*;
import java.io.*;
public class login extends TagSupport
{
public login()
{
super();
}
public int doStartTag() throws JspTagException
{
JspWriter out = pageContext.getOut();
try
{
out.println("<APPLET CODEBASE=applet/login/ CODE=login.class width=200 height=100 > </APPLET>");
}
catch(Exception e)
{
}
return SKIP_BODY;
}
publicc int doEndTag()throws JsptagException
{
return EVAL_PAGE;
}
public void release()
{
super.release();
}
public void setWidth(String language)
{
this.width = width;
}
public String getWidth()
{
return this.width;
}
public void setHeight(String height)
{
this.height=height;
}
public String getHeight()
{
return this.height;
}
private String width;
private String height;
}
從以上我們可以看出,實現一個簡單的標記符處理程序有幾個要求:①增加一個類,使之繼承 java.Servlet.jsp.tagext.TagSupport類。這個類提供了java.Servlet.jsp.tagext.Tag介面所要求的所有的方法。另外,還需要使用一些基本的API,使JSP容器能夠調用我們自己提供的標記符處理程序。②必須為每個標記符屬性分別創建一個 get<attribute>和set<attribute>方法,JSP容器需要使用這些方法處理程序傳遞參數。③要為標記符處理程序創建一個構造器和自毀器。JSP需要使用構造器啟動處理程序。自毀器是在realease()方法中定義的。在處理程序的生命周期結束時,需要調用自毀器釋放所佔用的資源。④創建兩個名為doStartTag()和doEndTag()的方法,執行具體的處理和輸出動作。這兩個方法是在處理自定義標記符的起始位置和結束位置調用的。它們的返回值是在Tag Interface里定義的靜態int,這幾個靜態值分別是:
SKIP_BODY隱含0 :跳過了開始和結束標簽之間的代碼。
EVAL_BODY_INCLUDE隱含1:將body的內容輸出到存在的輸出流中
SKIP_PAGE隱含5 : 忽略剩下的頁面。
EVAL_PAGE隱含6:繼續執行下面的頁
當然標記符也有它自己的缺點。很不方便的封裝過程,有限的功能。對於一些不太復雜和功能單一的邏輯描述,需要傳遞的參數要求不高時,使用JSP標記,要方便的多。對於大多數的商業邏輯應用,還是使用bean要好的多,也宜於servlet控制。
附:文章中所用示例的完整代碼
JSP代碼:login.jsp
<%@ taglib uri="/tlds/taglib.tld" prefix="tagclass" %>
<html>
<head>
<title></title>
</head>
<body>
<tagclass:login width="200" height= "100" >
</tagclass:login>
</body>
</html>
標記符描述庫:taglib.tld
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
" http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>tagclass</shortname>
<tag>
<name>login</name>
<tagclass>
tagclass.login.login
</tagclass>
<info>
</info>
<attribute>
<name>height</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>width</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
標記符處理程序:login.java
package tagclass.login;
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.*;
import java.io.*;
public class login extends TagSupport
{
public login()
{
super();
}
public int doStartTag() throws JspTagException
{
JspWriter out = pageContext.getOut();
try
{
out.println("<APPLET CODEBASE=applet/login/ CODE=login.class width=200 height=100 > </APPLET>");
}
catch(Exception e)
{
}
return SKIP_BODY;
}
publicc int doEndTag()throws JsptagException
{
return EVAL_PAGE;
}
public void release()
{
super.release();
}
public void setWidth(String language)
{
this.width = width;
}
public String getWidth()
{
return this.width;
}
public void setHeight(String height)
{
this.height=height;
}
public String getHeight()
{
return this.height;
}
private String width;
private String height;
}
標記符處理程序中所使用的Applet : login.java
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class login extends Applet implements ActionListener
{
private String s_username;
private String s_userpassword;
private Button b_ok;
private Button b_register;
private Label l_username;
private Label l_userpassword;
private TextField t_username;
private TextField t_userpassword;
private GridLayout g_gridlayout;
public void init()
{
b_ok=new Button("ok");
b_register=new Button("register");
l_username= new Label("name");
l_userpassword=new Label("password");
t_username=new TextField();
t_userpassword=new TextField();
b_ok.addActionListener(this);
b_register.addActionListener(this);
g_gridlayout=new GridLayout(3,2,10,10);
this.setLayout(g_gridlayout);
//this.setBackground(Color.blue);
add(l_username);
add(t_username);
add(l_userpassword);
add(t_userpassword);
add(b_ok);
add(b_register);
}
public void actionPerformed(ActionEvent ev)
{
String s_label=ev.getActionCommand();
if (s_label.equals("ok"))
{
t_username.setText("name");
}
if (s_label.equals("register"))
{
t_userpassword.setText("password");
}
}
public void paint(Graphics g)
{
}
}

閱讀全文

與jsp大於號相關的資料

熱點內容
兩個電腦數據怎麼一樣 瀏覽:829
順豐有什麼買東西的app 瀏覽:377
數位板word 瀏覽:939
win7寬頻連接出現多重網路 瀏覽:268
更改程序圖標c語言 瀏覽:629
網路電視偷停怎麼辦 瀏覽:418
linux連接ftp 瀏覽:512
es文件瀏覽器視頻筆記 瀏覽:874
mac無法打開描述文件 瀏覽:134
什麼軟體打文件 瀏覽:53
資料庫無數據變成0 瀏覽:899
名企筆試如何刷編程題 瀏覽:49
js跳到頁面某地 瀏覽:550
jsp展示clob欄位 瀏覽:779
nyx在網路上是什麼意思 瀏覽:145
樂播農業app是什麼 瀏覽:530
編程框架如何開發 瀏覽:136
金庸群俠傳3修改代碼 瀏覽:712
檢察院的文件類別有哪些 瀏覽:793
怎麼把九游殘留數據刪除 瀏覽:828

友情鏈接