佳Java學(xué)習(xí)方式
學(xué)習(xí) Java 既簡(jiǎn)單又有趣,無(wú)論您有什么背景。有了這本綜合指南的幫助,您將可開(kāi)始 Java 之旅,并擁有掌握基本概念的所有資源。
通過(guò)前面文章的介紹,理解了Java是——
Java 代碼運(yùn)行在 Java 虛擬機(jī)上,該虛擬機(jī)將 Java 代碼轉(zhuǎn)換為操作系統(tǒng)能夠理解的語(yǔ)言。所有這些特性以及更多特性使 Java 依然是 2021 年(還將持續(xù)下去)的頂級(jí)編程語(yǔ)言之一。
Java很有魅力,對(duì)于新手或初學(xué)者,有沒(méi)有最佳的學(xué)習(xí)方式呢?這就是本篇文章將要討論的和表達(dá)的內(nèi)容——這里主要是為初學(xué)者指明漸進(jìn)式的Java學(xué)習(xí)核心基礎(chǔ)點(diǎn),這是針對(duì)性編程學(xué)習(xí)必備以及進(jìn)階的支持基本面。根據(jù)這個(gè)學(xué)習(xí)方式,就可把主題知識(shí)點(diǎn)連成體系化知識(shí)線,然后再根據(jù)需要來(lái)拓展關(guān)聯(lián)技術(shù)面或深化體系知識(shí)“點(diǎn)”。
友情提醒:我雖然寫(xiě)了不少,但主要請(qǐng)關(guān)注小標(biāo)題所說(shuō),以及最后的結(jié)論部分。具體的成長(zhǎng)還得靠你自己!如果有學(xué)習(xí)需要或咨詢,請(qǐng)給我留言或私信。
學(xué)習(xí)任何東西都沒(méi)有捷徑可走,Java 也是如此。如果你想掌握這門(mén)語(yǔ)言(相信我,這是值得的),你必須在你的系統(tǒng)上設(shè)置它并開(kāi)始練習(xí)。下載(https://www.oracle.com/java/technologies/downloads/)并安裝 JDK(Java 開(kāi)發(fā)工具包)和 JRE(Java 運(yùn)行時(shí)環(huán)境)以及您熟悉的任何 IDE。
對(duì)于初學(xué)者來(lái)講,Easy Eclipse(http://easyeclipse.org/site-1.0.1/distributions/desktop-java.html) 非常適合編寫(xiě)程序和構(gòu)建獨(dú)立應(yīng)用程序,也很適合用來(lái)開(kāi)始Java編程的學(xué)習(xí);開(kāi)源的Eclipse(https://www.eclipse.org/downloads/packages/),建議初學(xué)者下載Eclipse IDE for Java Developers版即可,后續(xù)個(gè)根據(jù)需要下載企業(yè)版;NetBeans功能很強(qiáng)大,對(duì)于初學(xué)者來(lái)說(shuō)也很適用,只是先不要對(duì)其本身關(guān)注太多,初學(xué)者很多功能還用不上;IntelliJ IDEA社區(qū)版不收費(fèi),但對(duì)于初學(xué)者有較高的要求,需要慢慢適應(yīng) ;針對(duì)初學(xué)者的BlueJ(https://www.bluej.org/),更關(guān)注學(xué)習(xí)。
隨著對(duì)Java技術(shù)的提高和實(shí)際工作的需要,將來(lái)IDE的選擇,建議NetBeans、Eclipse、以及IntelliJ IDEA(高級(jí)版收費(fèi)的)
那在我們進(jìn)入核心概念之前,這里有一些你應(yīng)該永遠(yuǎn)記住的事情——
現(xiàn)在我們有了積極的心態(tài)和學(xué)習(xí)的動(dòng)力,那就來(lái)看看學(xué)習(xí)用 Java 編寫(xiě)高效代碼所需的所有概念——
每天,我們都會(huì)遇到不同類型的數(shù)據(jù)。例如,您的司機(jī)的電話號(hào)碼是一個(gè)整數(shù),但他的名字是一個(gè)字符串(字符數(shù)組)。同樣,他給您車(chē)輛加的汽油價(jià)格是浮點(diǎn)數(shù)(十進(jìn)制小數(shù))。 Java 可處理很多數(shù)據(jù)類型,比如:
String driverName;
int telephoneNo;
float petrolPrice;
boolean isRegular;
Java 中的最佳實(shí)踐之一是遵循正確的命名約定。上面的變量(driverName、telephone.etc...)和方法應(yīng)該以小寫(xiě)開(kāi)頭,后面的單詞以大寫(xiě)字母開(kāi)頭——driverName。同樣,由于布爾數(shù)據(jù)類型返回 true 或 false,因此以 is、are、has 等開(kāi)頭的變量命名是一個(gè)好習(xí)慣......
將數(shù)據(jù)存儲(chǔ)在變量中的好處是我們可以在代碼的任何地方使用變量。使用變量的限制由其作用域定義,可以是局部的、靜態(tài)的或全局的。
數(shù)據(jù)類型 char、int、float、boolean 和 double 被稱為原始類型(也叫基本類型),Java對(duì)每一種類型都有對(duì)應(yīng)的對(duì)象類。例如,int 有 Integer; boolean 有 Boolean 等等。一個(gè)字符串就是個(gè)String類型的對(duì)象。
那么,我們?nèi)绾翁幚磉@些數(shù)據(jù)呢?我們要對(duì)其進(jìn)行一些操作!
編程是要處理數(shù)據(jù)的,數(shù)據(jù)有很多種的。例如,根據(jù)司機(jī)是否規(guī)范合格,可以給他一些獎(jiǎng)勵(lì),或者根據(jù)他加的油量,我們可以知道他開(kāi)了多少公里。類似代碼可以這樣表示:
if (isRegular){
salary +=200;
}
條件表達(dá)式結(jié)果只能是布爾值(true或false)。如果我們比較兩個(gè)字符串,例如if(driverName==“Chand”),則可使用比較運(yùn)算符'==',它不同于賦值運(yùn)算符'='。同樣的,還有<、<=、> , >=等等。
就像我們?cè)谏厦婵吹降哪菢樱癷f”是一個(gè)條件判斷,用于測(cè)試某些內(nèi)容是否準(zhǔn)確并相應(yīng)地返回結(jié)果(true或false)。if通常與可以處理多種情況的 else if 和 else 語(yǔ)句結(jié)合使用。
if(marks < 23)
grade=‘F’;
else if(marks > 23 && marks < 60)
grade=‘D’;
else
grade=‘B’;
請(qǐng)注意,&& 表示兩個(gè)表達(dá)式都必須為true,if 判斷檢測(cè)才能成功。
還要記住的是代碼執(zhí)行中循環(huán)的相關(guān)應(yīng)用:while和for。
我們編寫(xiě)的很多代碼都可以分成代碼塊,以便應(yīng)用程序的許多其它部分可以重用它們。系統(tǒng)的此類塊稱為函數(shù)/方法(基于OOP的叫法)。例如,grade可以是基于分?jǐn)?shù)的函數(shù)。當(dāng)系統(tǒng)被分成更小的函數(shù)時(shí),它們看起來(lái)整潔、獨(dú)立并且易于理解。函數(shù)是模塊化的,可重復(fù)使用。
Java 中的函數(shù)名以小寫(xiě)開(kāi)頭,后面的單詞首字母大寫(xiě)。例如,獲取成績(jī)的grades(float marks),返回字符的、 isRegular(String driverName)返回布爾值 等。
接下來(lái)就才是 Java 的真正強(qiáng)大——
如果您想了解 OOPS 概念的詳細(xì)信息,請(qǐng)觀看我之前嵌入在本文中的上述視頻。盡管如此,對(duì)于本文,您需要知道的是,在 OOPS 中,一切都被視為對(duì)象。鉛筆是一個(gè)對(duì)象,汽車(chē)、植物、動(dòng)物,甚至司機(jī)也是一個(gè)對(duì)象。
繼續(xù)我們的司機(jī)示例,假設(shè)以下屬性標(biāo)識(shí)司機(jī) – driverName、joinDate、isRegular、dateOfBirth 和 avgCustomerRating。
假設(shè)像優(yōu)步這樣的服務(wù)提供商會(huì)有很多這樣的司機(jī)。每個(gè)司機(jī)都具有所有這些屬性,這些屬性將以其獨(dú)特的值加以區(qū)分。這意味著,我們可用這些屬性作為司機(jī)的成員變量來(lái)創(chuàng)建類“Driver”。每當(dāng)我們需要獲取或設(shè)置特定司機(jī)的詳細(xì)信息時(shí),我們將使用 new 運(yùn)算符創(chuàng)建 Driver 類的“對(duì)象”。
Driver driver=new Driver();
在創(chuàng)建類時(shí),我們還為成員創(chuàng)建了“getter 和 setter”方法,通過(guò)這些方法我們可以獲取屬性成員各個(gè)值。假如必須設(shè)置整個(gè)對(duì)象,我們可使用在類中定義的構(gòu)造函數(shù)。如下所示:
public Driver(String driverName, String joiningDate, boolean isRegular,
String dateOfBirth, float avgCustomerRating){
this.driverName=driverName;
this.joiningDate=joiningDate;
this.isRegular=isRegular;
this.dateOfBirth=dateOfBirth;
this.avgCustomerRating=avgCustomerRating;
}
現(xiàn)在,當(dāng)想創(chuàng)建這樣一個(gè)對(duì)象時(shí),就可以通過(guò)調(diào)用 new 操作符和這個(gè)構(gòu)造函數(shù)來(lái)實(shí)現(xiàn):
Driver driver1=new Driver(“John”, “21/12/2018”, true, “12-01-1983”, 4.5);
如果您正在同時(shí)練習(xí)代碼,則在修復(fù)編譯錯(cuò)誤(如果有)之后,就可構(gòu)建并運(yùn)行程序,然后還可繼續(xù)擴(kuò)展項(xiàng)目。同時(shí)您也將看到與每個(gè) .java 文件對(duì)應(yīng)的 .class 文件。
在Java中,有許多如數(shù)組、列表、映射、樹(shù)等的數(shù)據(jù)結(jié)構(gòu)。所有這些都在 Collection 框架下,除了 Array,它是 java.util 包的一部分。理解和掌握 Collection 將使您對(duì)存儲(chǔ)和檢索數(shù)據(jù)感到非常爽——這意味著您學(xué)習(xí)成功了一半。來(lái)用數(shù)組做一個(gè)簡(jiǎn)單的例子。在我的“何為Java...” (https://www.toutiao.com/a7045534771065438734/?log_from=4b2c72124184e_1640578614119)中,用 ArrayList 進(jìn)行了類似的操作,可去看看。
Driver[] drivers=new Driver[5];
//為每個(gè)司機(jī)設(shè)置詳細(xì)信息或從數(shù)據(jù)庫(kù)或用戶輸入中獲取它
假設(shè)有五個(gè)司機(jī),我們想根據(jù)每個(gè)司機(jī)的一些條件設(shè)置工資。為此,我們使用“for”循環(huán)。
for(int i=0; i<5; i++){
if(driver[i].isRegular && driver[i].salary < 4000)
driver[i].salary +=200;
}
請(qǐng)注意,我們獲取每個(gè)司機(jī)的詳細(xì)信息,然后對(duì)每個(gè)司機(jī)進(jìn)行一些檢查。之后,我們?cè)O(shè)置一個(gè)值。在這里,我們將 Driver 的硬編碼為 5個(gè),但在實(shí)際應(yīng)用程序中,我們將從數(shù)據(jù)庫(kù)或控制臺(tái)獲取它。
那又該如何操作呢?請(qǐng)繼續(xù)……
考慮從用戶那里獲取司機(jī)詳細(xì)信息。對(duì)于每個(gè)數(shù)據(jù),使用剛剛學(xué)習(xí)的 for 循環(huán)處理更多信息。首先,讓我們創(chuàng)建數(shù)組。這次我們不設(shè)定長(zhǎng)度,而是向用戶詢問(wèn)要多少。
如果還沒(méi)有創(chuàng)建 Driver 類,現(xiàn)在使用您的 IDE 來(lái)創(chuàng)建(我這里用的是NetBeans)。這些東西最好在實(shí)踐中學(xué)習(xí)。要?jiǎng)?chuàng)建這個(gè)類,讓我們首先在 IDE 上創(chuàng)建一個(gè)項(xiàng)目。創(chuàng)建一個(gè)任何名稱的項(xiàng)目,例如 myLearning。然后創(chuàng)建一個(gè)名為 com.learning 的包(意思是源代碼)。在包內(nèi),使用成員創(chuàng)建類 Driver。只需單擊幾個(gè)按鈕,即可在 IDE 上生成 getter 和 setter。
創(chuàng)建包c(diǎn)om.learning,完成后:
創(chuàng)建Driver類
在此類中編寫(xiě)或創(chuàng)建我們之前討論過(guò)的構(gòu)造函數(shù)。
接著可以創(chuàng)建Test類,此類擁有 public static void primary (String args[]) 方法以用于測(cè)試之用。
要從用戶那里獲得輸入,最好的方式是使用“Scanner”方法。
之后,我們可以使用Scanner的 next() 方法來(lái)一一獲取輸入。我們第一件事是要知道存儲(chǔ)司機(jī)數(shù)量的信息。然后,我們創(chuàng)建一個(gè)相同長(zhǎng)度的數(shù)組,循環(huán)遍歷它,實(shí)例化循環(huán)內(nèi)的每個(gè)對(duì)象,并使用構(gòu)造函數(shù)或 setter 方法設(shè)置類成員的值。
為了讓我們的 java 代碼連接到數(shù)據(jù)庫(kù),我們需要一個(gè) JDBC 驅(qū)動(dòng)程序。不同的數(shù)據(jù)庫(kù)有不同的驅(qū)動(dòng);例如,對(duì)于 MySQL,驅(qū)動(dòng)程序?qū)⑹?com.mysql.jdbc.Driver。接下來(lái),我們需要連接到數(shù)據(jù)庫(kù)所在的 URL(位置)。為了訪問(wèn)數(shù)據(jù)庫(kù),我們還需要用戶名和密碼。獲取連接后,我們可以通過(guò)代碼執(zhí)行查詢以獲取或設(shè)置必要的詳細(xì)信息。
對(duì)于任何簡(jiǎn)單或復(fù)雜的 Web 應(yīng)用程序,都必須了解 JDBC(Java 數(shù)據(jù)庫(kù)連接)——這一點(diǎn)要在學(xué)習(xí)的過(guò)程中牢記。
Java 中的文件處理是使用兩個(gè)類 FileWriter 和 FileReader 完成的。 Java 文檔描述了這些類提供的所有方法和構(gòu)造函數(shù),它們非常簡(jiǎn)單。之前使用了 FileInputStream 和 FileOutputStream,但前兩者更可取,因?yàn)樗鼈儗?xiě)入字符流,而后兩個(gè)是字節(jié)流類。請(qǐng)記住,對(duì)于文件處理,必須捕獲像 FileNotFoundException 這樣的異常。
當(dāng)然,隨著技能的提高,實(shí)際學(xué)習(xí)和應(yīng)用中,還有更多的IO相關(guān)的操作API需要深入研究的。
Java 擁有很大的靈活性。但是作為開(kāi)發(fā)人員需要知道:我們的代碼在哪些情況下會(huì)給出錯(cuò)誤的結(jié)果。一種這樣的情況是用戶沒(méi)有輸入正確的值。比如你把driverName設(shè)置為String,用戶引入了一些數(shù)字或者隨機(jī)字符,這樣的情況我們應(yīng)該可以處理并通知用戶。這些通常在客戶端使用 JavaScript 完成相關(guān)校驗(yàn),但客戶端也可以禁用 JavaScript。作為開(kāi)發(fā)人員,我們也需要從我們這邊(后臺(tái))完成此驗(yàn)證。一些標(biāo)準(zhǔn)的異常如:
Java 中有許多此類受檢查異常和非受檢異常,您需要注意這些異常才能獲得健壯的代碼。
雖然我們總是厭惡垃圾,但 Java GC 會(huì)是您喜歡的東西。作為程序員,您不必?fù)?dān)心垃圾收集器線程的工作方式。它只是安靜地完成它的工作。但是,如果您有興趣,你要好好研究一下,因?yàn)樵谝恍┖诵?Java 面試中會(huì)被問(wèn)到。
為了處理并發(fā),Java 支持多線程并具有高效的內(nèi)置方法。雖然許多人認(rèn)為線程是一個(gè)可怕的話題,但在 Java 中卻并非如此,使用起來(lái)非常方便。線程的行為有時(shí)會(huì)有所不同,就如人們都會(huì)有某個(gè)時(shí)候情緒波動(dòng)一樣,沒(méi)啥大驚小怪的?只要處理得當(dāng),線程總是像處于最佳狀態(tài)。
例如,您正在某地某事嘗試預(yù)訂出租車(chē),總會(huì)有很多用戶嘗試從相同的起點(diǎn)尋找相同的出租車(chē)——這里出現(xiàn)的多個(gè)人就像運(yùn)行的多線程一樣。
那當(dāng)這樣時(shí),誰(shuí)獲得預(yù)訂確認(rèn)呢?
第一個(gè)被確認(rèn)的人!如果您快速預(yù)訂了,則車(chē)子為您鎖定——其他打車(chē)人不會(huì)看到這輛特定的出租車(chē)。但是,如果您出于某種原因取消叫車(chē),則會(huì)解除鎖定,此車(chē)又可供其他人預(yù)定使用。線程也是如此。如果一個(gè)線程正在更改其他人想要訪問(wèn)的代碼的一部分,則其他線程必須等待輪到它們,以便所有線程不會(huì)同時(shí)處理相同的數(shù)據(jù)并破壞它。多線程讓我們的生活變得輕松——想想在線票務(wù)、銀行交易和所有安全交易——如果每個(gè)人都可以同時(shí)訪問(wèn)相同的數(shù)據(jù),那世界將肯定充滿混亂!
好的,現(xiàn)在我們來(lái)到了真正的地方!學(xué)習(xí) Java 的全部意義在于創(chuàng)建可交互且快速的強(qiáng)大 Web 應(yīng)用程序。如果您已經(jīng)安裝了 IDE,那么您需要做的就是將 Jakarta EE(以前叫J2EE) 組件安裝到您的 IDE 中。前面的掌握后,就要開(kāi)始學(xué)習(xí)如何構(gòu)建可擴(kuò)展且健壯的 Web 應(yīng)用程序了。
要構(gòu)建 Web 應(yīng)用程序,需要了解 servlet 和 JSP(Java 服務(wù)器頁(yè)面)的基礎(chǔ)知識(shí),它們很容易學(xué)習(xí)。還有許多其他框架,如 Spring、Struts,等等,它們?cè)谂c Java 結(jié)合時(shí)提供了強(qiáng)大的 Web 應(yīng)用程序支持。這個(gè)我們可以選擇不同的相關(guān)教程來(lái)進(jìn)一步學(xué)習(xí)。
Java Web 服務(wù)用于與 MVC 架構(gòu)的不同層進(jìn)行交互。 Java Web 服務(wù) (JWS) 應(yīng)用程序有兩種通信方式——SOAP 和 RESTful 服務(wù)——這個(gè)通信是通過(guò) WSDL(Web 服務(wù)描述語(yǔ)言)完成的。在學(xué)習(xí)到這一步后,可以找些關(guān)于 SOAP 和 REST 的內(nèi)容豐富的教程,然后開(kāi)始使用 Java Web 服務(wù)。
web服務(wù),這個(gè)是走向微服務(wù)的熱門(mén)抓手,請(qǐng)一定順溜地學(xué)到這里,那說(shuō)明你的技術(shù)已經(jīng)可以獨(dú)當(dāng)一面了 ^_^
在本文中,我談?wù)摿苏莆?Java 所需了解的各種 子主題的摘要。 Java 還使用了許多其他 OOPS 概念——例如裝箱、拆箱、設(shè)計(jì)模式、泛型等,可以幫助您來(lái)更好地進(jìn)行編碼實(shí)踐,幫助您構(gòu)建功能性應(yīng)用程序。你還可通過(guò)做些面試題來(lái)檢驗(yàn)?zāi)闶欠衲芑卮疬@些 Java 面試問(wèn)題來(lái),以確保你的理解是正確的!
通過(guò)上面的Java編程的子主題,作為初學(xué)者在具體學(xué)習(xí)時(shí)就有了更清晰的進(jìn)階路線,即可快速打通知識(shí)點(diǎn),由可針對(duì)性深挖“主題”知識(shí)。
為了這些子主題有落腳點(diǎn),最后這里給出了一個(gè)Java學(xué)習(xí)的初級(jí)入門(mén)和高級(jí)進(jìn)階的書(shū)籍列表,基于我們談到的這些循序漸進(jìn)的學(xué)習(xí)主題,這些書(shū)籍將使你學(xué)習(xí) Java 擁有更愉快而徹底的體驗(yàn)。
這些書(shū)籍是(都有對(duì)應(yīng)的中文版):
除此之外,還……你先把上面的搞定再說(shuō)吧。
習(xí)是一件很痛苦的事情,很多人們總問(wèn)別人有沒(méi)有捷徑,問(wèn)學(xué)習(xí)路線,好像問(wèn)完了就學(xué)會(huì)了一樣。其實(shí)我想說(shuō)是:要是你真的想做一件事,那么就立刻去做好了,因?yàn)闀r(shí)間是不會(huì)等你的,在你猶豫的時(shí)候,時(shí)間早就流走了。所以與其猶豫不決不如理科開(kāi)始行!
有的人說(shuō)學(xué)Java要先學(xué)HTML,那就一起來(lái)看HTML是什么吧!
首先HTML 并不是一種編程語(yǔ)言,而是一種標(biāo)記語(yǔ)超文本標(biāo)記語(yǔ)言,負(fù)責(zé)展示網(wǎng)站的外觀,用來(lái)控制各種屬性的展示,要想做JavaWeb開(kāi)發(fā),HTML是必須學(xué)會(huì)的基礎(chǔ)。
既然要學(xué)習(xí)開(kāi)發(fā),那么必須要有工具呀!
EditPlus 3
嗯!就先來(lái)認(rèn)識(shí)一下HTML的一些標(biāo)簽
其中的主要的標(biāo)簽如下
<html>-------------------開(kāi)始html文檔
<head>--------------------開(kāi)始文檔頭部
<title>---------------------開(kāi)始文檔標(biāo)題
This is first page
</title>---------------------結(jié)束文檔標(biāo)題
</head>----------------------結(jié)束文檔頭部
<body>-----------------------開(kāi)始文檔體
Hello World.
</body>------------------------結(jié)束文檔體
</html>------------------------結(jié)束html文檔
新建 HTML 頁(yè)面就會(huì)出現(xiàn)代碼如下(綠色文字為注釋):
一個(gè)頁(yè)面的整體結(jié)構(gòu)就是:
所有的內(nèi)容都在<html></html>這兩個(gè)標(biāo)簽內(nèi)部。然后分為 <head> </head>頭部和 <body> </body>身體兩部分。
文檔的頭部描述了文檔的各種屬性和信息,包括文檔的標(biāo)題、在 Web 中的位置以及和其他文檔的關(guān)系等。
絕大多數(shù)文檔頭部包含的數(shù)據(jù)都不會(huì)真正作為內(nèi)容顯示給讀者。
<body>標(biāo)簽包含文檔的所有內(nèi)容
(比如文本、超鏈接、圖像、表格和列表等等。)
<title> 定義文檔的標(biāo)題。
瀏覽器會(huì)以特殊的方式來(lái)使用標(biāo)題,并且通常把它放置在瀏覽器窗口的標(biāo)題欄或狀態(tài)欄上。同樣,當(dāng)把文檔加入用戶的鏈接列表或者收藏夾或書(shū)簽列表時(shí),標(biāo)題將成為該文檔鏈接的默認(rèn)名稱。
下面的就算是一個(gè)簡(jiǎn)單的網(wǎng)頁(yè)了。
讓我們保存執(zhí)行一下看看。
hello world!Java學(xué)習(xí)我來(lái)了!
AVA中將WORD轉(zhuǎn)換為HTML導(dǎo)入到WANGEDITOR編輯器中(解決圖片問(wèn)題,樣式,非常完美),wangEditor如何導(dǎo)入word文檔,如何實(shí)現(xiàn)導(dǎo)入WORD文檔到WANGEDITOR編輯器中?WANGEDITOR導(dǎo)入WORD文檔 WANGEDITOR WORD導(dǎo)入插件,HTML富文本編輯器導(dǎo)入WORD,Web富文本編輯器導(dǎo)入WORD,WANGEDITOR富文本編輯器導(dǎo)入WORD,WANGEDITOR導(dǎo)入WORD,WANGEDITORWORD導(dǎo)入編輯,wangEditor集成word導(dǎo)入功能,
后端是用的JAVA,SpringBoot框架,實(shí)際上前端在集成的時(shí)候是不關(guān)心后端具體是用什么語(yǔ)言實(shí)現(xiàn)的。
它這個(gè)版本有幾個(gè)wangEditor3,wangEditor4,wangEditor5,好用的是就3和4,5不支持插入HTML。但是用戶用插入HTML這個(gè)功能用的比較多。
vue-cli-wangEditor3,vue3-cli-wangEditor4集成word導(dǎo)入功能。在VUE框架下面集成了WORD導(dǎo)入功能。
用戶選擇word文件后,自動(dòng)轉(zhuǎn)換成html,自動(dòng)將word里面的圖片上傳到服務(wù)器中,自動(dòng)將HTML添加到編輯器中。
主要的方案就是提供一個(gè)轉(zhuǎn)換接口,轉(zhuǎn)換接口使用RESTful協(xié)議,這樣的話兼容性更好一點(diǎn),其它的平臺(tái)用起來(lái)的話更方便簡(jiǎn)單一點(diǎn),而且測(cè)試起來(lái)也方便。
現(xiàn)有項(xiàng)目需要為T(mén)inyMCE增加導(dǎo)入word文件的功能,導(dǎo)入后word文件里面的圖片自動(dòng)上傳到服務(wù)器中,返回圖片和文字HTML,word里面的文本樣式保留
用戶一般在發(fā)新聞和發(fā)文章時(shí)用到,算是一個(gè)高頻使用功能,用戶體驗(yàn)上來(lái)講確實(shí)是很好,和以前的發(fā)新聞或者發(fā)文章的體驗(yàn)比起來(lái)要方便許多,用戶用的更爽。
1.下載示例
https://gitee.com/xproer/zyoffice-vue3-cli-wang-editor4
2.引入組件
3.添加按鈕
4.配置轉(zhuǎn)換接口
效果
開(kāi)發(fā)文檔:https://drive.weixin.qq.com/s?k=ACoAYgezAAwsDazDKJ
產(chǎn)品比較:https://drive.weixin.qq.com/s?k=ACoAYgezAAwh8oq8Zf
產(chǎn)品源代碼:https://drive.weixin.qq.com/s?k=ACoAYgezAAwjJM8412
報(bào)價(jià)單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwsfyDdrf
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。