Hasil pencarian 360 beranda adalah sebagai berikut
1. Struktur Direktori Utama Jaringan Kampus SMP yang diselesaikan adalah sebagai berikut
Terutama menyadari pencarian cerdas dan penggantian kulit yang mendukung bahasa Cina, huruf pertama dan huruf lengkap dari pinyin
Efek halaman adalah sebagai berikut
Kode inti utama adalah sebagai berikut
1.head.jsp
<%@ page Import = "java.io.file"%> <%@ page language = "java" import = "java.util.*" pageenCoding = "utf-8"%> <%@ taglib awalan = "c" uri = "http://java.sun.com/jspsl/jstl/core"%"%" tAD "tADP@ @sun.com/jspsl/jstl/core"%"%"%"%" http@ tag/urix> URI = "http://java.sun.com/jsp/jstl/functions"%> <! Doctype html public "-// w3c // dtd xhtml 1.0 transisi //" "http:/www.w3.org/trans. <html> <head> <title> Halaman Beranda Jaringan Kampus </title> <link rel = "stylesheet" href = "/Schoolnet/css/index.css" type = "text/css"/<script type = "text/javascript" src = "/SchoolNet/js/ddsMoMMeMMeMMeMMeMMeMMeMMeMMeMMeMMeMMeMMeMMeMMeMmeMmeMmeMmeMmeMmeM. src="/schoolnet/js/jquery.js"></script> <script src="/schoolnet/js/jquery-ui.js"></script> <script type="text/javascript" src="/schoolnet/js/publicJs.js"></script> <script type="text/javascript" src = "/Schoolnet/myajax/ajax_uni.js"> </script> <script type = "text/javascript" src = "/Schoolnet/js/style.js"> </script> <c: if test = "$ {loginuser.skin.id! = null}"> <cangkrika. setSkin () {var photo = '$ {LoginUser.skin.photo}'; $ ("body"). CSS ("latar belakang", "#f6f6f6 url (/sekolah/gambar/pf/" + foto + ") TOP Ulangi"); }); </script> </c:if> </head> <body> <div> <div id="searchtype"> <a href="javascript:void(0)" onclick="setsearchtype(this),setsearch()" name="searchdatas" id="books.png">Data</a> <a href="javascript:void(0)" OnClick = "setSearchType (this), setSearch ()" name = "SearchSongs" id = "t01d566d0c28b32ddad.png"> musik </a> <a href = "javascript: void (0)" onclick = "setSearchType (ini), setSearch: void (0)" Onclick = "setSearchType (ini), setSearch: void (0)" OnClick = "setSearchtype (ini), setSearch (void" "name" onclick = "setSearchtype (this), setSearch ()" name "name" name "name" oLCLICK = "setSearch (this), setSearch ()" name = "name" name "name" name = "name lick =" id="newspaper.png">News</a> <a href="javascript:void(0)" onclick="setsearchtype(this),setsearch()" name="searchxiaoshuos" id="library.png">Novel</a> <a href="javascript:void(0)" onclick="setsearchtype(this),setsearch()" name="searcharticles" id="blog.gif">Log</a> </div> <form id="search-form" action="/schoolnet/other.do?flag=searchdatas&searchpageNow=1" method="post" name="searchdatas" target="blank" onsubmit="return checksearch()"> <img src="/schoolnet/images/front/books.png" id="searchimg" style="margin-bottom:-10px" /><input type="text" name="search" id="topsearchtext" onkeyup="setsearch()" onfocus="newsearch()" "//> <input id="inputsearchtype" type="submit" value="Search information" /> </form> <ul id="setsearch"> </ul> </div> <div id = "MainMenu"> <ul> <li> <a href = "/Schoolnet/login.do? Bendera = gohomeui" id = "*menu_selected"> <span> Jaringan kampus </a> </a> </li> <Li> <a href = "/Schoolnet/login.do? <2 href = "/Schoolnet/shou.do? flag = shuoshuo & pagenow = 1"> berbicara </a> </li> <li> <a href = "/Schoolnet/album.do? Bendera = myalbumui & pagenow = 1 & userid = $ {lOMinuser.id}"> </a> </a> </a> </a> </a> </li </a </a </a </a </a </a </a </a </a </a </a </a </a </a </a liginuser.id} "> </a> href = "/Schoolnet/friend.do? flag = myfriendui & pagenow = 1"> teman </a> </li> <li> <a href = "/Schoolnet/artikel.do? flag = artikelt href = "/Schoolnet/artikel.do? Bendera = artikelit href = "/Schoolnet/news.do? Bendera = gonewsui & typeid = 1 & pagenow = 1"> berita </a> </li> <li> <a href = "/Schoolnet/data.do? Bendera = godatasui & pagenow = 1 & action = all"> Data </a> </Li> href = "/Schoolnet/xiaoshuo.do? Bendera = goxiaoshuoui & pagenow = 1 & id = all"> novel </a> </li> <li> <a href = "/Schoolnet/skin.do? Bendera = goskinui & pagenow = 1 & id = semua"> Berbagi </a> </a> .do? bendera = goshareui & pagenow = 1 "> hal -hal baru </a> </li> </ul> </li> <li> <a href =" javascript: void (0) "> <span> tentang </a> </a> </a> <ul> <li> <a href ="/sekolah/lainnya. <li> <a href = "/sekolah/lainnya Pernyataan </a> </li> <li> <a href = "/sekolah/lainnya href = "/Schoolnet/register.do? flag = updui"> Ubah informasi pribadi </a> </li> <li> <a href = "/Schoolnet/Login.do? Flag = Logout"> Exit </a> </li> </li> </li> </li> </li> </li> </li> </li> </li> </Li> </li> </li> </li> </li> </Li> </Li> </li> </li> </li> </li> </Li> </li> </li> </li> </li> test = "$ {loginuser! = null}"> <div id = "page-wrap"> <ul> <li id = "menu_selected"> <a id = "menu_selected" href = "/Schoolnet/Login.do? flag = goHomeUI"> <mg src = "/Schoolnet/Images/Images/Images/GOHOMEUI"> <mg src = "/Schoolnet/Images/Images/$ {" LOADOT/LOADOT. " margin-top: -18px; margin-left: -10px "/> </a> <ul> <li> <a href ="/Schoolnet/register.do? flag = updui "> memodifikasi informasi pribadi </a> </li> <li> <a href ="/Schoolnet/LOGIN.do? Li-/Li/Li </Li </Li </Li/Li/Li/Li. </ul> </div> </c: if> </div> </body> </html> 2. Fungsi JS Utama
// Digunakan untuk mengatur jenis pencarian sakelar dan menampilkan konten populer (lima) yang sesuai (informasi, musik, berita, novel, log) ketika memicu fokus kontrol input. fungsi setSearchType (o) {$ ("#SearchType A"). RemoveClass ("saat ini"); $ (o) .addclass ("saat ini"); var inputSearchType = $ (o) .text (); $ ("#InputSearchType"). Val ("Cari"+InputSearchType); document.geteLementById ("pencarian-form"). action = "/Schoolnet/Other.do? flag ="+o.name+"& SearchPagenow = 1"; document.getElementById ("pencarian-form"). name = o.name; document.getElementById ("SearchImg"). Src = "/SchoolNet/Images/Front/"+O.id; $ ("#TopSearchText"). Show (); $ ("#Searchfriendss"). Hide (); if (o.name == "Searchfriends") {$ ("#TopSearchText"). Hide (); $ ("#Searchfriendss"). Show (); }} // Digunakan untuk mengatur konten untuk menampilkan prompt pintar (sepuluh teratas mencocokkan dalam pencarian fuzzy) setSearch () {var v = document.getElementById ("topsearchText"). Value; var type = document.geteLementById ("pencarian-bentuk"). Nama; if (v.length == 0) {$ ("#setSearch"). html (""); } if (v.length> 0) {$ .ajax ({cache: true, type: "post", url: "/Schoolnet/changeInfo", data: {"action": "setSearch", "search": v, "searchType": type}, async: false, datasype: "htmL", success ": function: function: function: funche," html ", html", html ", html", html ", html", html ", html", html ", html", html ", html", html ", html", html ", html", html ", html", html ", html", html ", html" $ ("#setSearch"). html (""); }; } File java utama
if ("SearchSongs" .Equals (SearchType)) <span style = "White-space: pre"> </span> {<span style = "White-space: pre"> </span> string namehead [] = chinesepinyIntool.getHeadBystring (pencarian); <span style = "space putih: pre"> </span> string nameHeadString = ""; <span style = "white-space: pre"> </span> untuk (int i = 0; i <namehead.length; i ++) {<span style = "space putih: pre"> </span> nameHeadString+= namehead [i]; <span style = "White-space: pre"> </span>} <span style = "White-space: pre"> </span> string nameall [] = chinesepinyIntool.stringtopinyin (pencarian); <span style = "space putih: pre"> </span> string nameallString = ""; <span style = "white-space: pre"> </span> untuk (int i = 0; i <nameall.length; i ++) {<span style = "White-space: pre"> </span> nameallString+= nameall [i]; <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span>List<Song> songs=universityService.executeQueryByPage("from Song where to_pinyin(name) like '%"+ nameAllString +"%' or pinyin(name) like '%"+ nameHeadString +"%'", null, 1, 10); <span style = "space putih: pre"> </span> untuk (int i = 0; i <songs.size (); i ++) <span style = "space putih: pre"> </span> {<span style = "space putih: pre"> </span> con+= "<li> <target = 'blank' href = '/Schoolnet/music.do? flag = gopatentdisplay & pid = "+songs.get (i) .getPatent (). getId ()+"'> "+songs.get (i) .getName ()+" </a> </li> "; <span style = "space putih: pre"> </span>} <span style = "white-space: pre"> </span> if (songs.size ()! = 0) {<span style = "space putih: pre"> </span> con += "<li> <a href = 'javaScript: void (0)' onClick = ' style = 'display: inline; float: right; margin-right: 8px;'> tutup </a> </li> "; <span style = "space putih: pre"> </span>} <span style = "white-space: pre"> </span> else {<span style = "white-space: pre"> </span> con += "<li> <a href = 'li-lion; <span style = "White-space: pre"> </span>} <span style = "White-space: pre"> </span> out.write (con); <span style = "spasi putih: pre"> </span> out.close (); <span style = "White-Space: Pre"> </span>} lain jika ("setPifu" .Equals (Action)) <span style = "White-Space: Pre"> </span> {<span style = "White-Space: Pre"> </span> string skinID = request.getParameter ("skinID"); <span style = "spasi putih: pre"> </span> kulit kulit = (kulit) universitas.findbyid (skin.class, integer.valueof (skinId)); <span style = "white-space: pre"> </span> pengguna pengguna = (pengguna) request.getSession (). getAttribute ("LoginUser"); <span style = "spasi putih: pre"> </span> user.setskin (kulit); <span style = "White-space: pre"> </span> UniversityService.update (pengguna); <span style = "space putih: pre"> </span>} Saat melakukan konversi pinyin, Anda perlu mengimpor paket pinyin4j.jar
ChinesepinyIntool Pinyin Conversion Tool Class
Paket Schoolnet.utils;
impor net.sourceForge.pinyin4j.pinyinhelper; impor net.sourceForge.pinyin4j.format.hanyupinyincasetype; impor net.sourceForge.pinyin4j.format.hanyupinyinOutputFormat; impor net.sourceForge.pinyin4j.format.hanyupinyintonetype; impor net.sourceForge.pinyin4j.format.exception.badhanyupinyinOutputFormatcombination; / ** * * Alat pinyin Cina * * * */ kelas publik chinesepinyIntool {public static void main (string [] args) {string string [] = stringtopinyin ("this"); untuk (int i = 0; i <string.length; i ++) {System.out.println (string [i]); }} / ** * * Konversi string ke nomor pinyin * * * @param src * @return * / public static string [] stringtopinyin (string src) {return stringtopinyin (src, false, null); } / ** * Konversi string ke nomor pinyin * * * @param src * @return * / public static string [] stringtopinyin (string src, string pemisah) {return stringtopinyin (src, true, pemisah); } / ** * Konversi string ke sejumlah pinyin * * * @param src * @param ispolyphone * apakah akan menemukan pinyin karakter polifonik * * @param pemisah * pemisahan antara string polifonik / @return * / string public [] stringtopinyin (string src, boolean iSpolean ISpolone, string public ooloryin (string src, boolean iSpolean ISPOLEAN ISPOLONED) ("" .Equals (src) || null == src) {return null; } char [] srcchar = src.tochararray (); int srccount = srcchar.length; String [] srcstr = string baru [srccount]; untuk (int i = 0; i <srccount; i ++) {srcstr [i] = chartopinyin (srcchar [i], ispolyphone, pemisah); } return srcstr; } / ** * Konversi satu karakter ke pinyin * * @param src * @return * / public static string chartopinyin (char src, boolean ispolyphone, string pemisah) {// buat pinyin pinyin pinyin cina hanyupinyinOutputFormat DefaultFormat = new HanyupininOutFormat ();); // pengaturan output, huruf besar, simbol fonetik defaultFormat.setCasetype (hanyupinyincasetype.lowercase); defaultFormat.settoneType (hanyupinyIntonetype.without_tone); StringBuffer Temppinying = New StringBuffer (); // Jika sedang if (src> 128) {coba {// konversi untuk mendapatkan string hasil [] strs = pinyinhelper.tohanyupinyInstringArray (src, defaultFormat); // Apakah akan menemukan karakter polifonik, standarnya adalah menemukan karakter karakter polifonik if (ispolyphone && null! = Pemisah) {untuk (int i = 0; i <strs.length; i ++) {Temppinying.append (strs [i]); if (strs.length! = (i + 1)) {// Karakter polifonik dipisahkan oleh simbol khusus Temppinying.Append (pemisah); }}} else {Temppinying.Append (strs [0]); }} catch (badhanyupinyinoutputFormatcombination e) {e.printstacktrace (); }} else {Temppinying.Append (src); } return Temppinying.toString (); } public static string hanzitopinyin (string hanzi) {return hanzitopinyin (hanzi, ""); } / ** * Konversi karakter Cina ke pinyin * * @param hanzi * @param pemisah * @return * / @suppresswarnings ("deprecation") string statis public hanzitopinyin (string hanzi, string pemisah) {// ciptakan pinyin pinyin pinyin hanyupinyin preformat faultFormat; // pengaturan output, huruf besar, simbol fonetik defaultFormat.setCasetype (hanyupinyincasetype.lowercase); defaultFormat.settoneType (hanyupinyIntonetype.without_tone); String pinyingstr = ""; coba {pinyingstr = pinyinhelper.tohanyupinyInstring (hanzi, defaultFormat, pemisah); } catch (badhanyupinyinOutputFormatcombination e) {e.printstacktrace (); } return pinyingstr; } / ** * Konversi array string menjadi string * * @param str * @param pemisah * pemisahan antara setiap string * * @return * / public static string stringArrayToString (string [] str, string pemisah) {stringBuffer sb = new stringBuffer (); untuk (int i = 0; i <str.length; i ++) {sb.append (str [i]); if (str.length! = (i + 1)) {sb.append (pemisah); }} return sb.toString (); } / ** * Hubungkan setiap array karakter * * * @param str * @return * / public static string stringArrayToString (string [] str) {return stringArrayToString (str, ""); } / ** * Konversi array karakter menjadi karakter * * * @param str * @param pemisah * pemisahan antara string individu * * @return * / public static string charaRrayToString (char [] ch, string pemisah) {stringBuffer sb = new stringBuffer (); untuk (int i = 0; i <ch.length; i ++) {sb.append (ch [i]); if (ch.length! = (i + 1)) {sb.append (pemisah); }} return sb.toString (); } / ** * Konversi array karakter menjadi karakter * * * @param str * @return * / string statis public chararraytoString (char [] ch) {return chararraytoString (ch, ""); } / ** * Dapatkan karakter pertama dari karakter Cina * * * @param src * @param iScapital * apakah itu besar * * @return * / public static char [] getHeadbychar (char src, boolean iscapital) {// jika bukan karakter Cina, kembali secara langsung jika (src <= 128) {return char [] {] {src; src <= 128) {return char [] [] } // ejaan yang diperoleh [] pinyingstr = pinyinhelper.tohanyupinyinstringarray (src); // Buat objek pengembalian int polyphonesize = pinyingstr.length; char [] headchars = char baru [polyphonesize]; int i = 0; // mencegat kata pertama untuk (string s: pinyingstr) {char headchar = s.charat (0); // apakah huruf pertama dikapitalisasi, standarnya kecil jika (isCapital) {headchars [i] = karakter.touppercase (headchar); } else {headchars [i] = headchar; } i ++; } return headchar; } / ** * Default untuk mengambil kata pertama untuk karakter Cina besar * * @param src * @return * / public static char [] getHeadbychar (char src) {return getHeTbychar (src, true); } / ** * Temukan huruf awal dari string * * @param src * @return * / public static string [] getHeadBystring (string src) {return getHeTbystring (src, true); } / ** * Temukan huruf awal dari string * * @param src * @param isCapital * apakah itu dikapitalisasi * @return * / public static string [] getHeTbystring (String src, true); } / ** * Temukan huruf awal dari string * * @param src * @param iScapital * Apakah dikapitalisasi * @return * / public static string [] getHeadBystring (string src, boolean iscapital) {return getHeadBystring (src, isCapital, null); } / ** * Temukan inisial string * * @param src * @param iScapital * apakah kapitalisasi * @param pemisah * terpisah * * @return * / string statis publik [] getHeadBystring (string src, boolean iscapital, string pemisah) {char [] chars = src.tocharaRar String [] headString = string baru [chars.length]; int i = 0; untuk (char ch: chars) {char [] chs = getHeadbychar (ch, isCapital); StringBuffer SB = StringBuffer baru (); if (null! = pemisah) {int j = 1; untuk (char ch1: chs) {sb.append (ch1); if (j! = chs.length) {sb.append (pemisah); } j ++; }} else {sb.append (chs [0]); } headString [i] = sb.toString (); i ++; } return headstring; }} Database Membangun Fungsi Terkait
Fristpinyin: Fungsi ini mengubah karakter Cina pertama dari string Cina menjadi huruf pertama pinyin (misalnya: "ok"-> h)
Pinyin: Fungsi ini menghubungkan masing-masing huruf pinyin pertama dari string Cina (misalnya: "OK"-> HD)
to_pinyin: Fungsi ini menghubungkan masing-masing huruf lengkap dari string Cina yang sesuai dengan pinyin (misalnya: "ok"-> haode)
Buat fungsi `fristpinyin` (p_name varchar (255)) mengembalikan varchar (255) charset utf8 mulai mendeklarasikan v_return varchar (255); Set v_return = elt (interval (conv (hex (kiri (convert (p_name menggunakan gbk), 1)), 16,10), 0xb0a1,0xb0c5,0xb2c1,0xb4ee, 0xb6ea, 0xb7a2,0xb8c1,0xb9fe, 0xb7a2, 0xb8c1,0xb9fe, 0xb7a2, 0xB7A2, 0XB7A2.0XB8C1.0XB9FE, 0XB7A2, 0XB7A2. 0xbfa6,0xc0ac, 0xc2e8,0xc4c3,0xc5b6,0xc5be, 0xc6da, 0xc8bb, 0xc8f6,0xcbfa, 0xcdda, 0xCef4,0xd1b9,0xd4d1), 0xcef4,0xd1b9,0xd4d1), 'A', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'w', 'x', 'y', 'r'); Mengembalikan v_return; End membuat fungsi `pinyin` (p_name varchar (255)) mengembalikan varchar (255) charset utf8 mulai mendeklarasikan v_compare varchar (255); Mendeklarasikan v_return varchar (255); Menyatakan saya int; Set i = 1; Atur v_return = ''; Sedangkan i <length (p_name) lakukan set v_compare = substr (p_name, i, 1); If (v_compare! = '') Lalu #set v_return = concat (v_return, ',', v_compare); Set v_return = concat (v_return, fristpinyin (v_compare)); #Set v_return = fristpinyin (v_compare); Berakhir jika; Set i = i + 1; berakhir sementara; If (isnull (v_return) atau v_return = '') kemudian set v_return = p_name; Berakhir jika; Mengembalikan v_return; End buat fungsi to_pinyin (name varchar (255) charset gbk) mengembalikan varchar (255) charset gbk begin declare mycode int int; Mendeklarasikan tmp_lcode varchar (2) charset gbk; Mendeklarasikan lcode int; Mendeklarasikan tmp_rcode varchar (2) charset gbk; Mendeklarasikan rcode int; Mendeklarasikan mypy varchar (255) charset gbk default ''; Menyatakan LP int; Atur MyCode = 0; Atur lp = 1; Setel name = hex (name); Sedangkan LP <Length (Name) lakukan set tmp_lcode = substring (name, lp, 2); Atur lcode = cast (ASCII (unhex (tmp_lcode)) sebagai tidak ditandatangani); Atur tmp_rcode = substring (name, lp + 2, 2); Atur rcode = cast (ASCII (unhex (tmp_rcode)) sebagai tidak ditandatangani); Jika LCODE> 128 maka atur MyCode = 65536 - LCode * 256 - RCODE; Pilih concat (mypy, pin_yin_) ke dalam mypy dari t_base_pinyin di mana code_> = abs (mycode) pesanan dengan kode_ ASC LIMIT 1; Atur lp = lp + 4; Lain atur mypy = concat (mypy, char (cast (ASCII (unhex (substring (name, lp, 2))) sebagai unsigned)))); Atur lp = lp + 2; Berakhir jika; Berakhir sementara; Kembali lebih rendah (mypy); AKHIR;
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.