㈠ 如何在js裡面控制頁面的只讀
document.all.prpLcomponentAuditStatus.disabled = true;
㈡ jsp表格中行禁用(只讀)怎麼實現
例如你td標簽裡面是這樣的,<td><input type="text" value="hello world"/></td>
這時候只要在input標簽裡面加上readonly="true"就可以了
㈢ jsp 取值為空
首先,form表單取值是通過name屬性取值的,而你的三個文本根本沒有定義name屬性,所以無法取到昌陸值,這是主要原因。
其次 你的表格結構有問題,請看這兩行代碼:
<td align="right">密碼:</td>
<td ><input id="pwd" type="text" onblur="checkPwd()" />
<td input id="email"沒迅備 type="text" value="請輸入正確的電子郵箱" onblur="checkEmail()" />
<td ><input id="sub" type="submit" value="提交" /> </td>
第一行沒有錯誤,可第二行的標簽<td>只有開始,卻沒有用</td>結束,這又是一個錯誤。
第三行更誇張,<td>僅僅是個列標簽,裡面只可以聲明該列的屬性,你卻在裡面input了一個文本,從這點可以看出,你並沒有全身枯毀心的看自己寫的代碼。
此外,文本是不需要賦value屬性的,好好修改吧,童鞋。
㈣ 正則表達式:<td>(.*)</td> 獲取的內容如何才能不含<td>和</td>
一、正則表達式概述
如果原來沒有使用過正則表達式,那麼可能對這個術語和概念會不太熟悉。不過,它們並不是您想像的那麼新奇。
請回想一下在硬碟上是如何查找文件的。您肯定會使用 ? 和 * 字元來幫助查找您正尋找的文件。? 字元匹配文件名中的單個字元,而 * 則匹配一個或多個字元。一個如 'data?.dat' 的模式可以找到下述文件:data1.dat、data2.dat等等。如果使用 * 字元代替 ? 字元,則將擴大找到的文件數量。'data*.dat' 可以匹配下述所有文件名:data.dat、data1.dat、data12.dat等等,盡管這種搜索文件的方法肯定很有用,但也十分有限。? 和 * 通配符的有限能力可以使你對正則表達式能做什麼有一個概念,不過正則表達式的功能更強大,也更靈活。
在我們編寫ASP程序時,經常會判斷一個字元串的有效性,如;一個串是否是數字、是否是有效的Email地址等等。如果不使用正則表達式,那麼判斷的程序會很長,並且容易出錯,如果使用正則表達式,這些判斷就是一件很輕松的工作了。後面我們將介紹如何判斷數字和Email地址的有效性。
在典型的搜索和替換操作中,必須提供要查找的確切文字。這種技術對於靜態文本中的簡單搜索和替換任務可能足夠了,但是由於它缺乏靈活性,因此在搜索動態文本時就有困難了,甚至是不可能的。
使用正則表達式,能完成些什麼事情呢?
測試字元串的某個模式。例如,可以對一個輸入字元串進行測試,看在該字元串是否存在一個電話號碼模式或一個信用卡號碼模式。這稱為數據有效性驗證。
替換文本。可以在文檔中使用一個正則表達式來標識特定文字,然後可以全部將其刪除,或者替換為別的文字。
根據模式匹配從字元串中提取一個子字元串。可以用來在文本或輸入欄位中查找特定文字。
例如,如果需要搜索整個 web 站點來刪除某些過時的材料並替換某些HTML 格式化標記,則可以使用正則表達式對每個文件進行測試,看在該文件中是否存在所要查找的材料或 HTML 格式化標記。用這個方法,就可以將受影響的文件范圍縮小到包含要刪除或更改的材料的那些文件。然後可以使用正則表達式來刪除過時的材料,最後,可以再次使用正則表達式來查找並替換兆顫那些需要替換的標記。
那麼,正則表達式語法的語法是如何呢?
一個正則表達式就是由普通字元(例如字元 a 到 z)以及特殊字元(稱為元字元)組成的文字模式。該模式描述在查找文字主體時待匹配的一個或多個字元串。正則表達式作為一個模板,將某個字元模式與所搜索的字元串進行匹配。
這里有一些可能會遇到的正則雹猜洞表達式示例:
/^\[ \t]*$/ "^\[ \t]*$" 匹配一個空白行。
/\d{2}-\d{5}/ "\d{2}-\d{5}" 驗證一個ID 號碼是否由一個2位數字,一個連字元以及一個5位數字組成。
/<(.*)>.*<\/\1>/ "<(.*)>.*<\/\1>" 匹配一個 HTML 標記。
二、正則表達式在VBScript中的應用
VBScript使用RegExp對象、Matches集合以及Match對象提供源枯正則表達式支持功能。我們還是先看一個例子。
<%
Function RegExpTest(patrn, strng)
Dim regEx, Match, Matches '建立變數。
Set regEx = New RegExp '建立正則表達式。
regEx.Pattern = patrn '設置模式。
regEx.IgnoreCase = True '設置是否區分字元大小寫。
regEx.Global = True '設置全局可用性。
Set Matches = regEx.Execute(strng) '執行搜索。
For Each Match in Matches '遍歷匹配集合。
RetStr = RetStr & "Match found at position "
RetStr = RetStr & Match.FirstIndex & ". Match Value is '"
RetStr = RetStr & Match.Value & "'." & "<BR>"
Next
RegExpTest = RetStr
End Function
response.write RegExpTest("[ij]s.", "IS1 Js2 IS3 is4")
%>
在這個例子中,我們查找字元串中有無is或者js這兩個詞,忽略大小寫。運行的結果如下:
Match found at position 0. Match Value is 'IS1'.
Match found at position 4. Match Value is 'Js2'.
Match found at position 8. Match Value is 'IS3'.
Match found at position 12. Match Value is 'is4'.
下面我們就介紹這三個對象和集合。
1、RegExp對象是最重要的一個對象,它有幾個屬性,其中:
○Global 屬性,設置或返回一個 Boolean 值,該值指明在整個搜索字元串時模式是全部匹配還是只匹配第一個。如果搜索應用於整個字元串,Global 屬性的值為 True,否則其值為 False。默認的設置為 False。
○IgnoreCase 屬性,設置或返回一個Boolean值,指明模式搜索是否區分大小寫。如果搜索是區分大小寫的,則 IgnoreCase 屬性為 False;否則為 True。預設值為 False。
○Pattern 屬性,設置或返回被搜索的正則表達式模式。必選項。總是一個 RegExp 對象變數。
2、Match 對象
匹配搜索的結果是存放在Match對象中,提供了對正則表達式匹配的只讀屬性的訪問。 Match 對象只能通過 RegExp 對象的 Execute 方法來創建,該方法實際上返回了 Match 對象的集合。所有的 Match 對象屬性都是只讀的。在執行正則表達式時,可能產生零個或多個 Match 對象。每個 Match 對象提供了被正則表達式搜索找到的字元串的訪問、字元串的長度,以及找到匹配的索引位置等。
○FirstIndex 屬性,返回在搜索字元串中匹配的位置。FirstIndex 屬性使用從零起算的偏移量,該偏移量是相對於搜索字元串的起始位置而言的。換言之,字元串中的第一個字元被標識為字元 0
○Length 屬性,返回在字元串搜索中找到的匹配的長度。
○Value 屬性,返回在一個搜索字元串中找到的匹配的值或文本。
3、Matches 集合
正則表達式 Match 對象的集合。Matches 集合中包含若干獨立的 Match 對象,只能使用 RegExp 對象的 Execute 方法來創建之。與獨立的 Match 對象屬性相同,Matches `集合的一個屬性是只讀的。在執行正則表達式時,可能產生零個或多個 Match 對象。每個 Match 對象都提供了與正則表達式匹配的字元串的訪問入口、字元串的長度,以及標識匹配位置的索引。
學習了這三個對象和集合,如何應用於字元串的判斷和替換呢?regExp對象的三個方法正好解決了這個問題,它們是Replace方法、Test方法和Execute方法。
1、Replace 方法
替換在正則表達式查找中找到的文本。我們還是先看個例子:下面的例子說明了 Replace 方法的用法。
<%
Function ReplaceTest(patrn, replStr)
Dim regEx, str1 ' 建立變數。
str1 = "The quick brown fox jumped over the lazy dog."
Set regEx = New RegExp ' 建立正則表達式。
regEx.Pattern = patrn ' 設置模式。
regEx.IgnoreCase = True ' 設置是否區分大小寫。
ReplaceTest = regEx.Replace(str1, replStr) ' 作替換。
End Function
Response.write ReplaceTest("fox", "cat") & "<BR>" ' 將 'fox' 替換為 'cat'。
Response.write ReplaceTest("(\S+)(\s+)(\S+)", "$3$2$1") ' 交換詞對.
%>
2、Test 方法
對指定的字元串執行一個正則表達式搜索,並返回一個 Boolean 值指示是否找到匹配的模式。正則表達式搜索的實際模式是通過RegExp對象的Pattern屬性來設置的。RegExp.Global屬性對Test方法沒有影響。
如果找到了匹配的模式,Test方法返回True;否則返回False。下面的代碼說明了Test 方法的用法。
<%
Function RegExpTest(patrn, strng)
Dim regEx, retVal ' 建立變數。
Set regEx = New RegExp ' 建立正則表達式。
regEx.Pattern = patrn ' 設置模式。
regEx.IgnoreCase = False ' 設置是否區分大小寫。
retVal = regEx.Test(strng) ' 執行搜索測試。
If retVal Then
RegExpTest = "找到一個或多個匹配。"
Else
RegExpTest = "未找到匹配。"
End If
End Function
Response.write RegExpTest("is.", "IS1 is2 IS3 is4")
%>
3、Execute 方法
對指定的字元串執行正則表達式搜索。正則表達式搜索的設計模式是通過 RegExp 對象的 Pattern 來設置的。
Execute 方法返回一個 Matches 集合,其中包含了在 string 中找到的每一個匹配的 Match 對象。如果未找到匹配,Execute 將返回空的 Matches 集合。
三、javaScript中正則表達式的使用
在JavaScript 1.2版以後,JavaScript也支持正則表達式。
1、replace
replace在一個字元串中通過正則表達式查找替換相應的內容。replace並不改變原來的字元串,只是重新生成了一個新的字元串。如果需要執行全局查找或忽略大小寫,那麼在正則表達式的最後添加g和i。
例:
<SCRIPT>
re = /apples/gi;
str = "Apples are round, and apples are juicy.";
newstr=str.replace(re, "oranges");
document.write(newstr)
</SCRIPT>
結果是:"oranges are round, and oranges are juicy."
例:
<SCRIPT>
str = "Twas the night before Xmas...";
newstr=str.replace(/xmas/i, "Christmas");
document.write(newstr)
</SCRIPT>
結果是:"Twas the night before Christmas..."
例:
<SCRIPT>
re = /(\w+)\s(\w+)/;str = "John Smith";
newstr = str.replace(re, "$2, $1");
document.write(newstr)
</SCRIPT>
結果是:"Smith, John".
2、search
search通過正則表達式查找相應的字元串,只是判斷有無匹配的字元串。如果查找成功,search返回匹配串的位置,否則返回-1。
search(regexp)
<SCRIPT>
function testinput(re, str){
if (str.search(re) != -1)
midstring = " contains ";
else
midstring = " does not contain ";
document.write (str + midstring + re.source);
}
testinput(/^[1-9]/i,"123")
</SCRIPT>
3、match
match方法執行全局查找,查找結果存放在一個數組里。
例一:
<SCRIPT>
str = "For more information, see Chapter 3.4.5.1";
re = /(chapter \d+(\.\d)*)/i;
found = str.match(re);
document.write(found);
</SCRIPT>
顯示結果:Chapter 3.4.5.1,Chapter 3.4.5.1,.1
例二:
<SCRIPT>
str = "abcDdcba";
newArray = str.match(/d/gi);
document.write(newArray);
</SCRIPT>
顯示結果D, d.
四、示例
1 、判斷數字的正確性
<%@ Language=VBScript %>
<script language="javascript" runat="server">
function isNumeric(strNumber) {
return (strNumber.search(/^(-|\+)?\d+(\.\d+)?$/) != -1);
}
function isUnsignedNumeric(strNumber) {
return (strNumber.search(/^\d+(\.\d+)?$/) != -1);
}
function isInteger(strInteger) {
return (strInteger.search(/^(-|\+)?\d+$/) != -1);
}
function isUnsignedInteger(strInteger) {
return (strInteger.search(/^\d+$/) != -1);
}
</script>
<HTML>
<BODY>
<b>判斷數字的正確性</b>
<%
Dim strTemp
strTemp = CStr(Request.Form("inputstring"))
If strTemp = "" Then strTemp = "0"
%>
<TABLE BORDER="1" CELLPADDING="4" CELLSPACING="2">
<TR>
<TD ALIGN="right"><B>原始字元串</B></TD>
<TD><%= strTemp %></TD>
</TR>
<TR>
<TD ALIGN="right"><B>數字</B></TD>
<TD><%=isNumeric(strTemp)%></TD>
</TR>
<TR>
<TD ALIGN="right"><B>非負數字</B></TD>
<TD><%=isUnsignedNumeric(strTemp)%></TD>
</TR>
<TR>
<TD ALIGN="right"><B>整數</B></TD>
<TD><%=isInteger(strTemp)%></TD>
</TR>
<TR>
<TD ALIGN="right"><B>非負整數()</B></TD>
<TD><%=isUnsignedInteger(strTemp)%></TD>
</TR>
</TABLE>
<FORM ACTION="<%=Request.ServerVariables("SCRIPT_NAME")%>" METHOD="post">
請輸入一個數字:<BR>
<INPUT TYPE="text" NAME="inputstring" SIZE="50"></INPUT><BR>
<INPUT TYPE="submit" Value="提交"></INPUT><BR>
</FORM>
</BODY>
</HTML>
2、判斷Email地址的正確性
<%
Function isemail(strng)
isemail = false
Dim regEx, Match
Set regEx = New RegExp
regEx.Pattern = "^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$"
regEx.IgnoreCase = True
Set Match = regEx.Execute(strng)
if match.count then isemail= true
End Function
%>
㈤ SSH框架中jsp頁面如何讀取外鍵屬性值
SSH框架中jsp頁面讀取外鍵屬性值的方法如下:
當程序在載入該仔春咐對象時,會將外鍵對應的對象屬性載入進來:
<many-to-one name="teacher" class="net.zjl.po.Teacher" fetch="select" lazy="false">
<column name="tid" />
</many-to-one>
在jsp頁面上用s標簽迭代輸出:
<s:iterator value="list" >
<tr>
<td><s:property value="id" />
</td>念純
<td><s:property value="title" />
</td>
<td>森頌<s:property value="tkey" />
</td>
<td><s:property value="comment" />
</td>
<td><s:property value="teacher.tname" />
</td>
<td><s:property value="teacher.office" />
</td>
<td><s:property value="teacher.phone" />
</td>
</tr>
</s:iterator>
這里的teacher即為該類外鍵
㈥ 怎麼獲取jsp中table裡面td文本值的值
把你復的table修改制為:
<table id="mytr">
<tr id="mytr">
<td id="mytd">ddd</td>
</tr>
</table>
然後js這么寫:
alert(document.getElementById("mytd").innerHTML);
㈦ jsp中文本框設置為只能讀不可編輯,我將readonly放在一個自定義css類中為什麼不啟作用
因為readonly是標簽元素的屬性
而css 操作的是標悶陪答簽元螞慧素中style屬性的內容那亂帆個
㈧ jsp頁面中 <%%> <%! %>, <%=%> <%-- --%>有什麼區別
<%!%>裡面定義的屬性是成員屬性,相當於類的屬性,方法相當於是全局的方法,相當於是類裡面的方法.但是它是不可以進行輸出的,因為它只是進行方法的定義和屬性的定義。
<%%>這個裡面可以進行屬性的定義,可以輸出內容,但是它不可以進行方法的定義,因為這對標簽裡面的內容將來是在此jsp被編譯為servlet的時候放在了_jspService()方法裡面的,這個方法就是伺服器向客戶端輸出內容的地方,它本身就是一個方法,所以如果你在它裡面定義方法的話,那麼就相當於是在類的方法裡面嵌套定義了方法,這在java裡面是不允許的。但是你可以在裡面定義自己的私有變數,因為方法裡面也可以定義變數,也可以調用方法,但是唯獨不可以再定義方法了。
<%!%>是用來定義成員變數屬性和方法的,<%%>主要是用來輸出內容的,因此如果涉及到了成員變數的操作,那麼我們就應該使用<!%%>,而如果是涉及到了輸出內容的時候,就使用<%%>。
㈨ jsp頁面中有兩個table,如何使其中一個table中的內容不可編輯,一個table中的內容可編輯
這個還真沒用過,不過input可以,你試試用下readonly
<input type="text" readonly>
㈩ JSP中 <tr>和<td> 分別代表什麼意思啊
<tr>:是用於表格裡面的標簽,表示行;
<td>:是用於表格裡面的標簽,表示列。
例如:
<table>
<tr>
<td></td>
</tr>
</table>
這是一個只有一行一列的表格。
(10)jsptd只讀屬性擴展閱讀:
1、tr標簽是成對出現的,以<tr>開始,</tr>結束。tr標簽屬性:
align:代錶行的水平對齊方式left(左對齊)、center(居中對齊)、right(右對齊);
valign:代錶行的垂直對齊方式top(頂部對齊)、middle(中部對齊)、bottom(下部對齊)、baseline(基線對齊)。
2、td 標簽是成對出現的,以<td>開始,</td>結束,td 標簽屬性 :
abbr:代表表頭的簡寫 ;
axis:對單元格在概念上分類 ;
colspan: 一行跨越多列 ;
headers :連接表格的數據與表頭;
rowspan:一列跨越多行;
scope:定義行或列的表頭;
align:代錶行的水平對齊方式left(左對齊)、center(居中對齊)、right(右對齊);
valign:代錶行的垂直對齊方式top(頂部對齊)、middle(中部對齊)、bottom(下部對齊)、baseline(基線對齊)。