Jedes Mal, wenn ich in JSP-Code und Inline-Java-Code haben, wie folgt:Inline Back-End-Code in HTML-Dateien
<%
double num = Math.random();
if (num > 0.95) {
%>
<h2>You'll have a luck day!</h2><p>(<%= num %>)</p>
<%
} else {
%>
<h2>Well, life goes on ... </h2><p>(<%= num %>)</p>
<%
}
%>
Es scheint, die Leute verrückt und sie passieren Kommentare wie zu fahren:
Warum benutzen Sie eine Technologie, die 20 Jahre alt ist?
Dies ist nicht überschaubar Code
Sie Servlets verwenden sollten
Sie JSTL verwenden sollten.
Selbst JSTL ist nicht mehr eine gute Praxis.
Und wenn es um andere Sprachen wie Python (Django) und C# (ASP.NET) geht, scheint es völlig in Ordnung zu sein. Die folgenden Snippets stammen bereits in wenigen Monaten aus Tutorials.
Also, was ist hier los? Nur Java hat einen Weg gefunden, Code richtig zu verwalten, und andere Sprachen sitzen mit einer 20 Jahre alten Technologie zurück? Oder Java-Entwickler reagieren zu sehr auf eine vollkommen akzeptable Art der Codierung?
{% for x in range(5) %}
<h1>Hello World</h1>
{% endfor %}
Gleiche Fall in Razor, wenn ASP.NET MVC initialisiert, wenn Sie ein neues Projekt zu starten, haben die cshtml Seiten Inline C# Codes. Zum Beispiel wie folgt:
@{ var theMonth = DateTime.Now.Month; }
<p>The numeric value of the current month: @theMonth</p>
Hinweis: Bitte beachten Sie, dass ich nicht zu fragen, wie Java-Code in JSP zu vermeiden, zu schreiben. Ich frage, warum ist Back-End-Codierung "Kein Problem" in anderen Sprachen weniger Java.
Gut, ich habe wieder geöffnet. [This] (http://stackoverflow.com/questions/3177733/how-to-avoid-java-code-in-jsp-files) erklärt, warum Scriptlets in Java entmutigt werden. –
@StiriosDelimanolis Danke. Ich habe diesen Beitrag gesehen, bevor ich diese Frage gestellt habe. Ich verstehe, warum Scriplets entmutigt werden. Dennoch verstehe ich nicht, warum dieses Konzept des Zurückschreibens von Endcode in HTML-Dateien in anderen Sprachen vollkommen akzeptabel ist und immer noch überschaubar ist. – ksv99
Sie können Logik in Ihren django/flask-Vorlagen ausführen ... Ich verstehe nicht, was Sie fragen –