Gwanwyn - cael yr holl allweddi neges y gellir eu datrys

Mae gen i raglen we sy'n defnyddio Spring MVC. Hoffwn pe bai fy rhyngwyneb yn cynnwys un dudalen yn unig sy'n adfer yr holl ddata yn ddeinamig fel JSON trwy AJAX. Mae fy mhroblem gyda rhyngwladoli. Pan fyddaf yn rhoi cynnwys mewn jsps, gallaf ddefnyddio tagiau JSTL i ddatrys fy allweddi (hynod hawdd gyda Spring MVC):

<fmt:message key="name"/>: ${name}
<fmt:message key="title"/>: ${title}
<fmt:message key="group"/>: ${group}

Pan fyddant wedi'u ffurfweddu'n iawn, mae'n rendro mewn locale finnish fel

Nimi: yay
Otsikko: hoopla
Ryhmä: doo

Nawr, pan fyddaf yn defnyddio json,Dim ond hwn sydd gen i yn dod i mewn o'r gweinydd:

{
 name: "yay", 
 title: "hoopla",
 group: "doo"
}

Does dim cyweirnod! Ond mae'n rhaid i mi eu darparu rywsut. Fe wnes i ystyried newid y cyweirnod i'w ffurfiau lleol neu ychwanegu'r cyweiriau lleol at allbwn json (ee. Name_localized = "Nimi") ond mae'r ddau opsiwn hyn yn teimlo fel arfer gwael. Rwy'n defnyddio jackson json i ddosrannu fy gwrthrychau parth yn awtomatig i json ac rwy'n hoffi'r crynhoad y mae'n ei ddarparu.

Yr unig ateb dichonadwy y gwnes i ei greu yw hwn: creu ffeil javascript gyda'r prif gyweirnod lleol fel newidynnau.

<script type="text/javascript">
var name="Nimi";
var title="Otsikko";
var group="Ryhmä";
</script>

Ar ôl i mi gael hwn wedi'i lwytho, mae gen i nawr yr holl wybodaeth yn fy javascript i drin y json! Ond mae 'na gotcha: mae fy rhestr o enwau caeau yn ddeinamig. Felly byddai rendro statig mewn jsp yn edrych fel hyn:

<c:forEach var="field" values="${fields}">
 <fmt:message key="${field.key}"/>: ${field.value}
</c:forEach>

Mae angen i mi ddod o hyd i'r holl negeseuon a nodir yn fy negeseuon.properties. Mae rhyngwyneb Spring MessageSource yn cefnogi adfer negeseuon yn ôl allwedd yn unig. Sut alla i gael rhestr o gyweirnod yn fy JSP sy'n gwneud y newidynnau javascript lleol?

14
задан Eero Heikkinen 3 August 2011 в 09:14
поделиться