Asked Aug 31st, 2017 6:23 a.m. 274 0 3
  • 274 0 3
+1

Giúp đỡ sử dụng nội dung .properties lên file html

Share
  • 274 0 3

Xin chào mọi người, mình là Mem mới. Mình đang làm một ứng dụng nhỏ bằng java Spring và Angularjs, mình muốn sử dụng nột file .properties có chứa các nội dung của các từ được sử dụng lại nhiều lần kiểu như này ạ. "info.name": "Name" "placeholder.name": "Nhập giới tính", "placeholder.code": "Nhập mã giới tính", Giờ mình muốn dùng nó lên trên html thì phải làm như nào ạ? ví dụ như: < label>{info.name} < /label> để hiển thị nội dung là "Nhập giới tính". Cấu trúc source của mình đây ạ. ! Hay có thể cho mình từ khóa mình tìm kiếm với ạ? Cảm ơn.

3 ANSWERS


Answered Aug 31st, 2017 9:00 a.m.
+3

Hi bạn, với câu hỏi của bạn bạn có thể tham khảo về sử dụng đối tượng org.springframework.context.support.ResourceBundleMessageSource để load message Resouce lên trong context của ứng dụng nhé bạn tham khảo VD : https://www.mkyong.com/spring/spring-resource-bundle-with-resourcebundlemessagesource-example/

Share
Sep 1st, 2017 6:38 a.m.

Mình đang tham khảo theo link của bạn và thấy nó rất hay. Cảm ơn!

0
| Reply
Share
Sep 5th, 2017 7:56 a.m.

Nhưng bạn ơi mình gặp khó khăn là nó chỉ ở trong java trong khi mình muốn đưa nó ra html với Angularjs.

0
| Reply
Share
Sep 5th, 2017 7:56 a.m.

Nhưng bạn ơi mình gặp khó khăn là nó chỉ ở trong java trong khi mình muốn đưa nó ra html với Angularjs.

0
| Reply
Share
Sep 5th, 2017 8:02 a.m.

Một cái gì đó như là "Asynchronous Loading" chẳng hạn 😃

0
| Reply
Share
Avatar David Black @davidblack
Sep 6th, 2017 1:28 a.m.

Hi bạn, AngularJs là client site, trong khi Java là server site, nên với resource từ phía server site nếu bạn muốn sử dụng nó thì hãy tạo một request get đến server rồi trả về trong result của request nhé. vì clientsite sẽ ko tự động có được các Dữ liệu từ phía server mà bạn cần lấy nó về từ servers nghĩa là bạn cần phát sinh request trả về các message ở trong context dạng Json sau đó binding vào ng-bind

có một cách là bạn có thể tham khảo sử dụng angular-translate : https://gist.github.com/rvillars/6422287

+1
| Reply
Share
Answered Aug 31st, 2017 9:20 a.m.
+3

Để đọc properties từ 1 trong class bạn có thể dùng cách sau nhé:

import java.io.InputStream;
import java.util.Properties;
...
...
String propFileName = "path/to/DangGia.properties"
InputStream input = null;
Properties prop = new Properties();
input = Application.class.getClassLoader().getResourceAsStream(propFileName);
prop.load(input);

prop.getProperty("info.name")

Sau khi đọc đc trong controller (chẳng hạn) hãy bind nó ra view và xử lý trên angular 😃

Ps: Code trên có thể còn phải sửa lại cho phù hợp vs Project của bạn 😄 Application là tên class trong ứng dụng cá nhân mình đã từng viết :bride_with_veil_tone1:

Share
Sep 1st, 2017 6:40 a.m.

Mình đã từng thử dùng cách đưa nội dung file .properties vào $roorScope nhưng có vẻ không hợp lý, của bạn có vẻ rất hay và mình đang thử, sẽ báo kết quả cho bạn. Rất cảm ơn bạn.

0
| Reply
Share
Sep 5th, 2017 8:01 a.m.

Nhưng làm sao để đưa nó ra html sử dụng mà không cần xác nhận qua java? ý mình là có thể lấy file này ra mà tương tự như "Asynchronous Loading", mình không giỏi diễn đạt 😃

0
| Reply
Share
Avatar Cùi Bắp @euclid
Sep 6th, 2017 1:18 a.m.

@hocdv đưa nó ra html mà ko cần qua java thì bạn nên dùng json file, hãy đặt file json đó trong thư mục public, rồi get về khi khởi chạy angular app. Ex: http://embed.plnkr.co/I1aLZg/

+1
| Reply
Share
Avatar David Black @davidblack
Sep 6th, 2017 1:58 a.m.

nếu ko qua java thì cách tốt nhất bạn lên làm là theo cách của @Cùi Bắp nhé

0
| Reply
Share
Answered Sep 4th, 2017 6:36 a.m.
0

Mình vẫn chưa làm được ạ, ai biết giúp mình với

Share
Viblo
Let's register a Viblo Account to get more interesting posts.