Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
Log in
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
jstachio__jstachio_CVE-2023-33962_1-0-0 — टाइप-सेफ जावा मस्टैच टेम्पलेटिंग इंजन जिसमें कंपाइल-टाइम टेम्पलेट सत्यापन, स्टैटिक वैल्यू बाइंडिंग और HTML तथा अन्य सामग्री प्रकारों के लिए एक्सटेंसिबल एस्केपिंग शामिल है। | Kitploit
उपकरण/GitHubGitHub/shoucheng3/jstachio__jstachio_cve-2023-33962_1-0-0
सामान्य उपयोगिताएँस्थैतिक कोड विश्लेषण (SAST)कोड विश्लेषणवेब सुरक्षालर्निंग और शिक्षा
GitHubshoucheng3/jstachio__jstachio_cve-2023-33962_1-0-0

jstachio__jstachio_CVE-2023-33962_1-0-0

टाइप-सेफ जावा मस्टैच टेम्पलेटिंग इंजन जिसमें कंपाइल-टाइम टेम्पलेट सत्यापन, स्टैटिक वैल्यू बाइंडिंग और HTML तथा अन्य सामग्री प्रकारों के लिए एक्सटेंसिबल एस्केपिंग शामिल है।

रिपॉजिटरी देखें
191 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Maven Central Github

jstachio

एक प्रकार-सुरक्षित जावा मस्टैच टेम्पलेटिंग इंजन।

टेम्पलेट्स को पढ़ने योग्य जावा स्रोत कोड में संकलित किया जाता है और मान बाइंडिंग्स स्थिर रूप से जाँची जाती हैं।

दस्तावेज़

  • नवीनतम SNAPSHOT JStachio दस्तावेज़
  • वर्तमान जारी JStachio दस्तावेज़

दस्तावेज़ javadoc.io पर भी है लेकिन ऊपर के समान एकत्रित नहीं है। एकत्रित javadoc पसंदीदा दस्तावेज़ है और इस readme का शेष भाग मुख्य रूप से प्रचार विपणन उद्देश्यों के लिए है।

पिछले रिलीज़ के लिए:

https://jstach.io/doc/jstachio/VERSION/apidocs

जहाँ VERSION आपकी इच्छित संस्करण है।

JStachio क्यों चुनें

इसमें शामिल है why_jstachio_is_better.md।

विशेषताएँ

  • तर्कहीन Mustache (v 1.3) सिंटैक्स।

    • गैर-वैकल्पिक Mustache स्पेक v1.3.0 आवश्यकताओं का पूर्ण समर्थन (व्हाइटस्पेस सहित)
    • कुछ चेतावनियों के साथ वैकल्पिक इनहेरिटेंस समर्थन
    • स्थिर प्रकृति के कारण कुछ अंतरों के साथ वैकल्पिक लैम्ब्डा समर्थन
  • आज JEP 430 जैसा समर्थन प्राप्त करें लेकिन और भी अधिक शक्ति के साथ।

  • टेम्पलेट्स को जावा कोड में संकलित किया जाता है

  • मान बाइंडिंग्स स्थिर रूप से जाँची जाती हैं।

  • विधियाँ, फ़ील्ड्स और गेटर-विधियाँ टेम्पलेट्स में संदर्भित की जा सकती हैं।

  • संदर्भ के साथ मैत्रीपूर्ण त्रुटि संदेश।

  • शून्य कॉन्फ़िगरेशन। किसी प्लगइन या ट्वीक की आवश्यकता नहीं है। सब कुछ किसी भी IDE और/या बिल्ड-सिस्टम के साथ मानक javac के साथ किया जाता है।

  • गैर-HTML टेम्पलेट्स समर्थित हैं। समर्थित एस्केपिंग सामग्री प्रकारों का सेट विस्तार योग्य है।

  • Mustache इनहेरिटेंस स्पेक के माध्यम से लेआउट समर्थित हैं।

  • ServiceLoader के माध्यम से फ़ॉलबैक रेंडर सेवा विस्तार बिंदु

    • JMustache और mustache.java के माध्यम से रिफ्लेक्शन-आधारित रनटाइम रेंडरिंग पर सहज फ़ॉलबैक (विकास और वास्तविक समय में टेम्पलेट बदलने के लिए उपयोगी)
    • यदि आप जनरेटेड कोड के प्रशंसक नहीं हैं तो भी आप अपने मस्टैच टेम्पलेट्स की टाइप जांच के लिए JStachio का उपयोग कर सकते हैं।
  • अनुमत प्रकारों को अनुकूलित करें जिन्हें आउटपुट किया जा सकता है अन्यथा कंपाइलर त्रुटि (उन क्लासेस पर toString से बचने के लिए जिनके पास मैत्रीपूर्ण toString नहीं है)।

  • रनटाइम पर चर के कस्टम toString के लिए फ़ॉर्मेटर

  • ट्रेट जैसे ऐड-ऑन के लिए जनरेटेड कोड में अतिरिक्त implements इंटरफ़ेस जोड़ें (@JStacheInterfaces)

  • शक्तिशाली लैम्ब्डा समर्थन

  • Map<String, ?> समर्थन

  • Optional<?> समर्थन

  • JMustache और Handlebars सूची सूचकांक एक्सटेंशन के साथ संगत (जैसे -first, -last, -index)

  • यह अब तक का सबसे तेज़ जावा Mustache-जैसा टेम्पलेट इंजन है और सामान्य रूप से सबसे तेज़ में से एक है।

  • JStachio के अलावा शून्य निर्भरताएँ

  • एक बिल्कुल शून्य रनटाइम निर्भरता विकल्प उपलब्ध है (जैसे सभी आवश्यक कोड उत्पन्न होता है और रनटाइम के दौरान jstachio की भी आवश्यकता नहीं होती)। एनोटेशन प्रोसेसर और अन्य शून्य निर्भरता प्रोजेक्ट्स के लिए Maven shade का उपयोग करने की आवश्यकता नहीं है। Graal VM नेटिव प्रोजेक्ट्स के लिए भी उपयोगी है जहाँ फ़ुटप्रिंट यथासंभव न्यूनतम हो।

  • Spring Framework के लिए प्रथम श्रेणी का समर्थन (जैसे स्वयं प्रोजेक्ट प्लगइन्स प्रदान करेगा, न कि एक सहायक प्रोजेक्ट)

प्रदर्शन

यह इस प्रोजेक्ट का लक्ष्य नहीं है कि वह सबसे तेज़ जावा टेम्पलेटिंग इंजन हो!

(हालाँकि जब यह readme अंतिम बार अपडेट किया गया था तब यह मेरी जानकारी में सबसे तेज़ है)

ऐसा नहीं है कि टेम्पलेटिंग भाषाओं के साथ प्रदर्शन बहुत मायने रखता है (यह शायद ही कभी अड़चन होता है) लेकिन JStachio बहुत तेज़ है:

https://github.com/agentgt/template-benchmark

स्ट्रिंग आउटपुट

Template Comparison

विस्तारित वर्णों के साथ UTF-8 बाइट आउटपुट

Template Comparison

त्वरित उदाहरण


@JStache(template = """
        {{#people}}
        {{message}} {{name}}! You are {{#ageInfo}}{{age}}{{/ageInfo}} years old!
        {{#-last}}
        That is all for now!
        {{/-last}}
        {{/people}}
        """)
public record HelloWorld(String message, List<Person> people) implements AgeLambdaSupport {
}

public record Person(String name, LocalDate birthday) {
}

public record AgeInfo(long age, String date) {
}

public interface AgeLambdaSupport {

    @JStacheLambda
    default AgeInfo ageInfo(Person person) {
        long age = ChronoUnit.YEARS.between(person.birthday(), LocalDate.now());
        String date = person.birthday().format(DateTimeFormatter.ISO_DATE);
        return new AgeInfo(age, date);
    }

}

@Test
public void testPerson() throws Exception {
    Person rick = new Person("Rick", LocalDate.now().minusYears(70));
    Person morty = new Person("Morty", LocalDate.now().minusYears(14));
    Person beth = new Person("Beth", LocalDate.now().minusYears(35));
    Person jerry = new Person("Jerry", LocalDate.now().minusYears(35));
    String actual = JStachio.render(new HelloWorld("Hello alien", List.of(rick, morty, beth, jerry)));
    String expected = """
            Hello alien Rick! You are 70 years old!
            Hello alien Morty! You are 14 years old!
            Hello alien Beth! You are 35 years old!
            Hello alien Jerry! You are 35 years old!
            That is all for now!
                            """;
    assertEquals(expected, actual);

}

स्थापना

Maven

<properties>
    <io.jstach.version>0.6.0-SNAPSHOT</io.jstach.version>
</properties>
...
<dependencies>
    <dependency>
        <groupId>io.jstach</groupId>
        <artifactId>jstachio</artifactId>
        <version>${io.jstach.version}</version>
    </dependency>
</dependencies>
...
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>17</source> <!-- 17 is the minimum -->
                <target>17</target> <!-- 17 is the minimum -->
                <annotationProcessorPaths>
                    <path>
                        <groupId>io.jstach</groupId>
                        <artifactId>jstachio-apt</artifactId>
                        <version>${io.jstach.version}</version>
                    </path>
                    <!-- other annotation processors -->
                </annotationProcessorPaths>
            </configuration>
        </plugin>
    </plugins>
</build>

नोट: एनोटेशन jar (jstachio-annotation) परोक्ष रूप से खिंच जाता है

Gradle

dependencies {
 
    implementation 'io.jstach:jstachio:VERSION'
 
    annotationProcessor 'io.jstach:jstachio-apt:VERSION'
}

उदाहरण

user.mustache

{{#name}}
<p>Name: {{.}}, Name Length is {{length}}</p>
{{/name}}

<p>Age: {{  age  }}</p>

<p>Achievements:</p>

<ul>
{{#array}}
  <li>{{.}}</li>
{{/array}}
</ul>

{{^array}}
<p>No achievements</p>
{{/array}}

<p>Items:</p>

<ol>
{{#list1}}
  <li>{{value}}</li>
{{/list1}}
</ol>

User.java

निम्नलिखित क्लास का उपयोग उपरोक्त टेम्पलेट में भरने के लिए वास्तविक डेटा प्रदान करने के लिए किया जा सकता है।

टूल डाउनलोड करें