আমি কীভাবে জেএসপি পৃষ্ঠাগুলির আউটপুট থেকে অতিরিক্ত শ্বেতস্থান সজ্জিত করতে পারি? আমি কি আমার ওয়েব.এক্সএমএল এ ফ্লিপ করতে পারি? টমক্যাট নির্দিষ্ট সেটিং আছে?
আমি কীভাবে জেএসপি পৃষ্ঠাগুলির আউটপুট থেকে অতিরিক্ত শ্বেতস্থান সজ্জিত করতে পারি? আমি কি আমার ওয়েব.এক্সএমএল এ ফ্লিপ করতে পারি? টমক্যাট নির্দিষ্ট সেটিং আছে?
উত্তর:
একটি ট্রিমওয়াইটস্পেসের নির্দেশিকা রয়েছে যা এটি সম্পাদন করবে,
আপনার জেএসপিতে:
<%@ page trimDirectiveWhitespaces="true" %>
অথবা jsp-config বিভাগে আপনার ওয়েব.এক্সএমএল (নোট করুন যে এটি সার্লেটের স্পেসিফিকেশন 2.5 থেকে শুরু করে works
<jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<trim-directive-whitespaces>true</trim-directive-whitespaces>
</jsp-property-group>
</jsp-config>
দুর্ভাগ্যক্রমে আপনার যদি প্রয়োজনীয় স্থান থাকে তবে এটির জন্য স্ট্রিপও লাগতে পারে, যাতে আপনার কয়েকটি স্থানে অবিচ্ছেদ্য স্থানের প্রয়োজন হতে পারে।
web.xml
: <init-param> <param-name> ট্রিমস্পেসেস </ p> << পরম- মূল্য> সত্য </ div> <<</init-param>
যদি আপনার সার্লেটলেট কনটেনার জেএসপি ২.১ trimDirectiveWhitespaces
সম্পত্তি সমর্থন করে না , তবে আপনাকে JspServlet
কোনও প্রারম্ভিক পরামিতিগুলির জন্য এটির ডকুমেন্টেশনগুলির সাথে পরামর্শ করতে হবে । উদাহরণস্বরূপ ইন হুল বিড়াল , আপনি ভাল হিসাবে এটি সেট করে কনফিগার করতে পারেন trimSpaces
থেকে Init-PARAM true
জন্য JspServlet
হুল বিড়াল এর /conf/web.xml
:
<init-param>
<param-name>trimSpaces</param-name>
<param-value>true</param-value>
</init-param>
একটি সম্পূর্ণ ভিন্ন বিকল্প হ'ল জেটিডিফিল্টার । এটি কেবল হোয়াইটস্পেসকে ছাঁটাই করে না, তবে এটি সঠিক ইনডেন্টেশনে এইচটিএমএলকেও ফর্ম্যাট করে ।
ট্রিমডাইরেক্টিভওয়াইটেস স্পেসগুলি কেবল সার্লেট পাত্রে সমর্থিত যা জেএসপি ২.১ সমর্থন করে এবং তার পরে, বা ক্ষেত্রে বা টোম্যাট, টমক্যাট ((এবং কিছু সংস্করণ যেমন টমক্যাট .0.০.১০ এটি সঠিকভাবে প্রয়োগ করে না - অন্যদের সম্পর্কে জানেন না)। এখানে ট্রিমডাইরেক্টিভওয়াইটস স্পেসগুলি সম্পর্কে আরও তথ্য রয়েছে:
http://www.oracle.com/technetwork/articles/javaee/jsp-21-136414.html
এবং এখানে
আপনি যা চাইছেন তা সরাসরি নয়, তবে কী আমাকে সহায়তা করে তা এইচটিএমএল মন্তব্য ট্যাগগুলিকে আমার জেএসপি ট্যাগের চারপাশে একটি চৌকস উপায়ে রাখছে, এবং সার্ভলেট ট্যাগের (<%%>) ভিতরে সাদা স্থান রেখে দিয়েছে:
${"<!--"}
<c:if test="${first}">
<c:set var="extraClass" value="${extraClass} firstRadio"/>
</c:if>
<c:set var="first" value="${false}"/>
${"-->"}<%
%><input type="radio" id="input1" name="dayChooser" value="Tuesday"/><%
%><label for="input1" class="${extraClass}">Tuesday</label>
আপনি আরও এক ধাপ এগিয়ে যেতে পারেন এবং নির্মানের সময় এইচটিএমএল ট্যাগগুলির মধ্যে থাকা নতুন লাইনগুলি (ক্যারেজ রিটার্ন )ও সরাতে পারেন।
উদাহরণস্বরূপ:
<p>Hello</p>
<p>How are you?</p>
মধ্যে:
<p>Hello</p><p>How are you?</p>
এটি করুন, ব্যবহার করুন maven-replacer-plugin
এবং এটি সেট আপ করুন pom.xml
:
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<version>1.5.3</version>
<executions>
<execution>
<id>stripNewlines</id>
<phase>prepare-package</phase>
<goals>
<goal>replace</goal>
</goals>
<configuration>
<basedir>${project.build.directory}</basedir>
<filesToInclude>projectname/WEB-INF/jsp/**/*.jsp</filesToInclude>
<token>>\s*<</token>
<value>><</value>
<regexFlags>
<regexFlag>MULTILINE</regexFlag>
</regexFlags>
</configuration>
</execution>
</executions>
</plugin>
এটি কেবল বিল্ড ডিরেক্টরিতে জেএসপিগুলিকে সংশোধন করবে এবং আপনার উত্সগুলিতে জেএসপিগুলিকে স্পর্শ করবে না।
<filesToInclude>
আপনার জেএসপিগুলি যেখানে অবস্থিত সে পথে আপনাকে অভিযোজিত করতে হতে পারে ।
দয়া করে, ট্রিম ফানসিওন ব্যবহার করুন, উদাহরণস্বরূপ
fn:trim(string1)
এর catalina.properties
সাথে আপনার টমক্যাট ফাইলটি যুক্ত / সম্পাদনা করুন
org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false
আরও দেখুন: https://confluence.sakaiproject.org/display/BOOT/Install+Tomcat+7