2017-12-03 22 views
0

フランス語の日付(usa)を翻訳したいと思います。どうすればいいですか?私は3つのファイルを持っています。私はいくつかのJavaScriptを使用して参照してください???私はJSPでそれを可能にしたいと思っていますか?私のデータベースに変数 "naissance_eleveは" varchar型にフランス語(jsp)の日付を変換する

<table border="1" width="40%"> 
     <thead> 
     <tr> 
    <th>Id</th><th>Nom</th> 
     <th>Prenom</th><th>Date Naissance</th><th>Editer</th><th>Supprimer</th> 
     </tr> 
     </thead> 
    <c:forEach items="${list}" var="eleve"> 
     <tr><td>${eleve.getPk_eleve()}</td><td>${eleve.getNom_eleve()}</td> 
      <td>${eleve.getPrenom_eleve()}</td><td>${eleve.getNaissance_eleve()}</td> 

      <td><a href="edit_form_ecole.jsp?getPk_eleve=${eleve.getPk_eleve()}">Editer</a></td> 
      <td><a href="delete_ecole.jsp?pk_eleve=${eleve.getPk_eleve()}">Supprimer</a></td></tr> 



    </c:forEach> 
</table> 

eleve_form.html

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 

</head> 
<body> 


<a href="vueEleve.jsp">Apercu des infos</a><br/> 


<form action="ajoutEleve.jsp" method="post"> 
    <table border="1" width="40%"> 
     <tr><td>Nom:</td><td><input type="text" name="nom_eleve"/></td></tr> 
     <tr><td>Prenom</td><td><input type="text" name="prenom_eleve"/></td></tr> 
     <tr><td>Date Naissance</td><td><input type="date" name="naissance_eleve"/></td></tr> 
     <tr><td colspan="2"><input type="submit" value="Ajouter"/></td></tr> 
    </table> 
</form> 

</body> 
</html> 

eleve_form.html

<!DOCTYPE html> 
<html> 
<head> 

    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 

</head> 
<body> 


</body> 
</html> 

<%@ page pageEncoding="UTF-8" %> 
<%@page import="com.java.bd.EleveBD"%> 
<jsp:useBean id="u" class="com.java.classe.Eleve"></jsp:useBean> 
<jsp:setProperty property="*" name="u"/> 

<% 
    int i= EleveBD.add(u); 
    if(i>0){ 
     response.sendRedirect("success.jsp"); 
    }else{ 
     response.sendRedirect("erreur.jsp"); 
    } 
%> 

vueEleve.jspです

+0

「naissance_eleve」になります。これを変更できない場合は、「naissance_eleve」は常にISO、つまり「2017-12-3」などのようになりますか?次に、変換のためにjava.text.SimpleDateFormatを使用します。 –

+0

@HeikoJakubzik実際には、標準[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)のフォーマットでは先頭に0が付いているので、 '2017-12-03'としてください。 –

答えて

0

これをJSPにどのように翻訳するのかよく分かりません。私は、JSPにJavaを含めることができることを覚えています。このJavaコードのサンプルは、2つのロケール(米国とフランス)のSimpleDateFormatを作成し、日付を解析してフォーマットし、結果を出力します。

public static void main(String[] args) 
{ 

    Date d = new Date(); 
    SimpleDateFormat sdf_us = new SimpleDateFormat("yyyy-MMMM-dd",Locale.US); 
    SimpleDateFormat sdf_fr = new SimpleDateFormat("yyyy-MMMM-dd",Locale.FRANCE); 
    String output = sdf_us.format(d); 
    System.out.println(output); 
    System.out.println(d); 
    try 
    { 
    d = sdf_us.parse(output); 
    String output_fr = sdf_fr.format(d); 
    d = sdf_fr.parse(output_fr); 
    System.out.println(output_fr); 
    System.out.println(d); 
    } 
    catch (ParseException e) 
    { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    } 
} 

出力がある

2017 - 12月 - 03

日12月3日午前7時15分57秒CST 2017

2017-DECEMBRE-03

日12月3日00 :00:00 CST 2017

フォーマットdのときに削除されたため、最後の1つは表示されませんカバーしてはいけない。

私の推測では、おそらくより良いデータベースのDATE型でなければなりません

<tr><td>Date Naissance</td><td><input type="date" name="naissance_eleve" value=" 
<%  
    SimpleDateFormat sdf_fr = new SimpleDateFormat("yyyy-MMMM-dd",Locale.FRANCE); 
    String output = sdf_fr.format(naissance_eleve); 
    out.print(output); 

%>"/></td></tr> 
+0

このアンサーは、厄介な古いレガシーの日時クラスをjava.timeクラスに置き換えて使用することはお勧めできません。 –

関連する問題