js kalendar, der mit java.text.SimpleDateFormat kombatibel ist...

ruutaiokwu

Top Contributor
hallo zusammen,

weiss jemand von euch ob es sowas gibt?

problem ist folgendes:

wir haben eine mehrsprachige webanwendung, wo datumsfelder je nach land unterschielich angezeigt werden sollen.

auf dem server wird java.text.SimpleDateFormat verwendet, so dessen datums-format-string's ensprechen nicht der iso norm, sun hat da scheinbar ihr eigenes süppchen gekocht...

in der webapp gibt es 2 modus:

1. admin
2. user


in beiden modi wird jeweils ein hidden input field verwendet, in dem der unix-timestamp festgehalten wird. nur das wird vom server geholt.

im user-mode soll im unix-timestamp-hidden-field der wert per javascript ausgelesen werden, und anschliessend in ein span- oder p-tag geschrieben werden. unter beachtung der format-strings, welche von server ebenfalls mitgelifert werden und in einem hidden-field festgehalten sind (dd.MM.yyyy etc...)

im admin-mode soll das gleiche geschehen, nur soll man dort kein span- oder p-tag haben, sondern ein zweites feld, dieses mal nicht "hidden", sondern "text". gleichzeitig sollte ein javascript-datepicker eingesetzt werden, mit dem man das datum ändern kann.

im submit-request wird dann jeweils nur das feld mit dem unix-timestamp ausgelesen und anschliessend gespeichert werden...

weiss jemand von euch, wie das am einfachsten geht? habe bisher eine js-libeary namans simpledateformat.js gefunden welche das verhalten von java.text.SimpleDateFormat imitiert...


danke & grüsse,
jan
 

ARadauer

Top Contributor
auf dem server wird java.text.SimpleDateFormat verwendet, so dessen datums-format-string's ensprechen nicht der iso norm, sun hat da scheinbar ihr eigenes süppchen gekocht...
versteh ich nicht, der ist nur zum formatieren da und dem kannst du beim instanzieren dein gewünschtes format mitgeben.
Wie sieht den deiner meinung nach die ISO Norm fürs Datum aus?
 

ruutaiokwu

Top Contributor
hallo zusammen,

habe das problem jetzt so gelöst:

(zwar grösstenteils js...)

[XML]<html>
<head>
<title>
title
</title>
<script src="jquery/jquery.min.js">
</script>
<script src="jquery/ui/js/jquery-ui-1.8.10.custom.min.js">
</script>
<script src="simpledateformat.js" type="text/javascript">
</script>
<link rel="stylesheet" type="text/css" href="jquery/ui/css/smoothness/jquery-ui-1.8.10.custom.css" media="screen" />
<script src="betterinnerhtml.js" type="text/javascript">
</script>

<script type="text/javascript">
try
{
// initialize jQuery...
jq = jQuery.noConflict();
}
catch(err)
{
alert(err);
}
</script>

</head>
<body>

<script type="text/javascript">
try
{
simpleDateFormat = new SimpleDateFormat('MMM d, yyyy');
}
catch(err)
{
alert(err);
}
</script>

<input type="hidden" id="timestamp001" name="timestamp" value="1310162400000">
<input type="hidden" id="timestamp002" name="timestamp" value="1310162400000">
<input type="hidden" id="timestamp003" name="timestamp" value="1310162400000">


<script type="text/javascript">

function printData(arg, _date, ts_id)
{
try
{
document.getElementById(ts_id).value = _date;
BetterInnerHTML(arg, simpleDateFormat.format(new Date(parseInt(_date))), true);
}
catch(err)
{
alert(err);
}
}

function getDate(arg)
{
try
{
return new Date(arg);
}
catch(err)
{
alert(err);
}
}

function showDatePicker1(arg, arg2, dp_id, ts_id)
{
var datapickerName = '#'+dp_id;
var timeStampDateFormatStr = '@';

jq(document).ready(function()
{
if(arg2 == true)
{
jq(datapickerName).datepicker(
{
onSelect: function(date)
{
try
{
printData(arg, jq.datepicker.formatDate(timeStampDateFormatStr, getDate(date)), ts_id);
jq(datapickerName).hide();
}
catch(err)
{
alert(err);
return;
}
}
});
}
else
{
var _definedDate = new Date();
_definedDate.setTime(document.getElementById(ts_id).value);

jq(datapickerName).datepicker(
{
defaultDate: _definedDate,

onSelect: function(date)
{
try
{
printData(arg, jq.datepicker.formatDate(timeStampDateFormatStr, getDate(date)), ts_id);
jq(datapickerName).hide();
}
catch(err)
{
alert(err);
return;
}
}
});
}

if(jq(datapickerName) != null)
{
jq(datapickerName).show();
}

});
}
</script>




<!--
<a href="#" onclick="javascript:showDatePicker0(this);"> 09 Jul 2011 </a>
-->

<a href="#" onclick="javascript:showDatePicker0(this, 'datepicker001', 'timestamp001');">
N / A
</a>



<div style="position: absolute; margin-top: 4px;" id="datepicker001">
</div>


<br />

<!--
<a href="#" onclick="javascript:showDatePicker0(this);"> 09 Jul 2011 </a>
-->

<a href="#" onclick="javascript:showDatePicker0(this, 'datepicker002', 'timestamp002');">
N / A
</a>



<div style="position: absolute; margin-top: 4px;" id="datepicker002">
</div>


<br />



<!--
<a href="#" onclick="javascript:showDatePicker0(this);"> 09 Jul 2011 </a>
-->

<a href="#" onclick="javascript:showDatePicker0(this, 'datepicker003', 'timestamp003');">
N / A
</a>


<div style="position: absolute; margin-top: 4px;" id="datepicker003">
</div>



<br>
test
<br>
test
<br>
test
<br>
test
<br>
test
<br>
test
<br>
test
<br>
test
<br>
test

<script type="text/javascript">
function trim12(str)
{
try
{
var str = str.replace(/^\s\s*/, ''), ws = /\s/, i = str.length;
while (ws.test(str.charAt(--i)));
return str.slice(0, i + 1);
}
catch(err)
{
alert(err);
}
}

function showDatePicker0(self, dp_id, ts_id)
{
try
{
var _div = document.getElementById(dp_id);

var _na = false;
var _dateValue = self.innerHTML;

if(trim12(_dateValue.toLowerCase()).indexOf('n / a') == 0 || _dateValue == '')
{
_na = true;
}

showDatePicker1(self, _na, dp_id, ts_id);
}
catch(err)
{
alert(err);
}
}
</script>
</body>
</html>
[/XML]



bei simpleDateFormat = new SimpleDateFormat('MMM d, yyyy'); müsste unter jsp ein skriptlet rein: simpleDateFormat = new SimpleDateFormat('<%=dateFormatPattern%>');, welches den dateformat-pattern-string ausgibt, z.b. über folgende funktion:

Java:
public static String getDatePattern(MessageDictionary dic) {
      	Locale mylocale = new Locale(dic.getLanguage(),dic.getCountry());      	      	
      	return ((SimpleDateFormat)DateFormat.getDateInstance(DateFormat.DEFAULT,mylocale)).toPattern();
     }

MessageDictionary ist was von uns... simpledateformat.js ist von tim down -> http://www.timdown.co.uk/code/simpledateformat.js -> absolut genial, imitiert das verhalten von java.text.SimpleDateFormat...

mit dieser lösung ist alles hoch dynamisch, und im request (zum speichern) geht jeweils nur ein unix-timestamp-wert zurück...


grüsse, jan
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Kalendar in JSF Anwendung Web Tier 4
LimDul Komplexe Generierung von Java-Klassen aus WSDL Web Tier 1
E Java Servlet doPost request, Mehrere Parameter mit demselben Namen aus Tabellenzeilen Web Tier 2
platofan23 Java Login Überprüfung ohne Srciptlets in der JSP Web Tier 4
Dimax JSP Progress Bar in JSP nur mit Java Web Tier 4
S Einträge aus Datenbank einzeln darstellen (JSP, JAVA, HTML) Web Tier 9
R JavaScript für Java Enterprise Entwickler Web Tier 1
O JSF Java Unsigned Applet PrivilegedActionException Problem Web Tier 2
S JSP Hm... Vorlage für Java Basierende Webseite? Web Tier 0
S Button klick soll Java methode aufrufen Web Tier 2
R Tomcat - java.lang.OutOfMemoryError: PermGen space Web Tier 0
F JSP jSP Datei mit normalem Java Programm auslesen? Web Tier 5
T Spark Java Web Framework Web Tier 0
G Probleme mit Java + Tomcat | Cannot switch on a value of type String for source level below 1.7 Web Tier 8
S java.lang.ExceptionInInitializerError: Wieso??? Web Tier 3
N JSP Free Webhoster Java Backend? PHP? Web Tier 1
D Java EE Servlet login Problem Web Tier 1
L Servlet Java Entschlüsselungsprogramm in Webapplikation einbinden Web Tier 0
Streeber java.lang.NoClassDefFoundError: org/sqlite/NativeDB Web Tier 0
M GWT - Externe Java Libs auf Server Seite - zB. JDBC Web Tier 6
S Java Bean und Java Servlet Web Tier 2
L java.io.NotSerializableException für domain Objekte - Design Problem? Web Tier 12
H MVC in Java pur / Controller als Instanz? / Theorie! Web Tier 4
T Einsteigerfragen zu Servlets/Webprogrammierung mit Java Web Tier 11
J Übergabe von Parameter aus JSP an Java Web Tier 2
nrg Java-Code in Taglib wird nicht richtig ausgeführt. Web Tier 7
D JSF Überprüfen der Session ID in JSF und JAVA Web Tier 9
H JSP, Eclipse, Tomcat - Java Klasse wird nicht gefunden Web Tier 8
B JSF Mojarra 2.1.5: java.lang.IllegalStateException: Cannot create a session after the response has been Web Tier 7
A Parameterübergabe an Servlet und Aufruf von Servlets per Java Code Web Tier 7
J JSF Java Beans Konventionen Web Tier 2
P Blog in Java/JSP Web Tier 5
S Per JavaScript Java ansteuern - Welche Technik? Web Tier 2
T Seam-Komponenten oder Java Bean soll direkt nach Appserver-Start "leben" Web Tier 4
B Thread start bei Java Web Anwendung Web Tier 6
M Suche Java Framework Web Tier 2
B Tomcat 6 ergibt Fehler - java.net.SocketException Web Tier 2
G Probleme mit EclipseLink und Java.util.Date Web Tier 3
B Java EE 6 Problem (EL) Web Tier 4
F Migration eines CMS von PHP nach JAVA Web Tier 3
R GWT 2.1.1 mit Java 1.6 statt 1.5 Web Tier 8
W JSP - Attribut-Werte aus JAVA-Klasse ? Web Tier 8
T Werte aus java Klasse in jsp nutzen Web Tier 5
N java.lang.NoClassDefFoundError: org/jdom/JDOMException Web Tier 3
M JSP Ausgabe von Java-Objekten Web Tier 7
D JSP, Java Applets einbinden Web Tier 2
LadyMilka java.lang.NumberFormatException: For input string: ... Web Tier 5
H Probleme beim Aufrufen von Java- oder Servlet-Methoden aus Javascript Web Tier 2
K Bilder in Java-Webapplikationen Web Tier 12
S Java Servlet Content Type Web Tier 3
K Analye einer Seite (Java, JSP, ...) Web Tier 12
J rich:modalpanel vom java-code aus öffnen und schliessen Web Tier 2
S Expression Language in Java Web Tier 13
A Ssh connection mit java jsch? Web Tier 2
W Java code aus JSP-File durch JSTL code ersetzen Web Tier 8
M Body onUnload Java Methode aufrufen Web Tier 13
F Frage zu Java Beans Web Tier 17
M Java Framework für größere Projekte verwenden Web Tier 5
U access denied bei Datei Schreiben mit Java unter Linux trotz gesetzter Rechte Web Tier 2
P Java-Program -> Web Programm Web Tier 6
F Java Applets in html einbinden Web Tier 10
A SSL-Zertifikat in Java-Webanwendungen laden Web Tier 4
ruutaiokwu Wert hinter JSP-Tag nach Java-String in Skriptlet Web Tier 4
N java bean in eclipse Web Tier 6
S Java Code in JSF Web Tier 10
N Servlet und java.lang.NoClassDefFoundError Web Tier 4
D request.contextPath in Java-Klasse ausführen Web Tier 5
T In einem Struts Tag Werte mit Java einfügen Web Tier 2
G [JAVA / JSP] ArrayList in JSTL foreach verarbeiten Web Tier 4
G CSV-Anbindung an Java Web Tier 2
G Java Server Face Performancelastig? Web Tier 2
H Java Servlet und HTML Form Web Tier 3
U Java Application auf Tomcat Web Tier 5
G Validierung mit Java Server Faces Web Tier 4
N JSF Text formatiert ausgeben Web Tier 3
D Servlet Bild als JPG darstellen - nur alternativer Text Web Tier 16
H text in formfelder speichern Web Tier 3
E Struts: Text in JSP aus Action heraus setzen Web Tier 4
H Text in Gif oder in JPEG umwandeln. Web Tier 4
ff html:text aus mapped properties rendern Web Tier 2

Ähnliche Java Themen

Neue Themen


Oben