2010-11-05 17 views
17

साथ एक JSP पृष्ठ पर वापिस वहाँ है एक आसान, वसंत, जिस तरह से उपयोग नहीं कर RESTeasy एक मॉडल के साथ एक jsp या html पृष्ठ लौटने के लिए? मैं वसंत ModelAndView जहां मैं कहना है/संपर्क/Loomer और यह एक jsp टेम्पलेट में एक मज़ाक उड़ाया ऑब्जेक्ट प्रदान की है एक अनुरोध है के लिए इसी तरह कुछ करना चाहता हूँ। मैं देखे गए सभी उदाहरण जेएसओएन/एक्सएमएल के लिए हैं। मुझे जर्सी में पता है कि आप देखने योग्य का उपयोग कर सकते हैं, लेकिन मुझे केवल रीस्टेसी सामान का उपयोग करने की आवश्यकता है।RESTeasy और एक मॉडल

धन्यवाद!

@POST 
    @PUT 
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED) 
    @Produces(MediaType.TEXT_HTML) 
    public ModelAndView saveContactForm(@Form Contact contact) 
     throws URISyntaxException 
    { 
     service.save(contact); 
     return viewAll(); 
    } 

उत्तर

20

ठीक है, मैं यह किसी को जो रुचि रखता है के लिए पता लगा:

मैं कुछ इस तरह (लेकिन वसंत modelandview के बिना) चाहते हैं। एक उदाहरण मिलने के बाद यह वास्तव में काफी छोटा था।

@GET 
@Path("{eventid}") 
@Produces("text/html") 
public void getEvent(@Context HttpServletResponse response, 
     @Context HttpServletRequest request, 
     @PathParam("eventid") Long eventid) throws ServletException, 
     IOException { 

    EventDao eventdao = DaoFactory.getEventDao(); 
    Event event = eventdao.find(eventid); 

    request.setAttribute("event", event); 
    request.getRequestDispatcher("eventView.jsp").forward(request, response); 

    } 
+1

मुझे आश्चर्य है कि अगर यह ऐसा करने का एक तरीका है समर्थित है या यह कार्यान्वयन की सिर्फ एक पक्ष प्रभाव है। मुझे आशा है कि यह पूर्व :-) – marcus

0

मैं ऊपर जवाब को वोट किया है लेकिन यह RestEasy साथ ठीक से काम करने के 2.3.2.Final अप करने के लिए लगता है, नवीनतम 2.3.5.Final (आज के लिए) है। ऐसा लगता है कि जर्सी के साथ ग्लासफिश 3.1.2.2 के साथ भी बंडल किया गया है।

यह 2.3.2.Final ऊपर RestEasy साथ काम नहीं करता है जब मैं करने की कोशिश की। मैं इस अवलोकन साझा करने के लिए सोचा था कि के रूप में यह मुझे कुछ समय लिया यह पता लगाने की क्या वजह से :

'java.lang.ClassCastException $ Proxy262 org.apache.catalina.core.ApplicationHttpRequest में ढाला नहीं जा सकता है' हालांकि मैं नहीं कर रहा हूँ गहरा गोता करने के लिए कि यह कैसे हल करने की कोशिश, मैं 3.0.6.Final आप सीधे HttpServletRequest पहुँच सकते हैं और एक RESTEasy View के उत्पादन निर्देशन से पहले अपने स्वयं के गुण इंजेक्षन कर सकते हैं org.jboss.resteasy.resteasy-html संस्करण का उपयोग करना https://stackoverflow.com/a/5149950/1398360

चीयर्स

3

कुछ विचार बारे में जाना।

@GET 
@Path("{eventid}") 
@Produces("text/html") 
public View getEvent(@Context HttpServletResponse response, 
        @Context HttpServletRequest request, 
        @PathParam("eventid") Long eventid){ 

    EventDao eventdao = DaoFactory.getEventDao(); 
    Event event = eventdao.find(eventid); 

    request.setAttribute("event", event); 
    return new View("eventView.jsp"); 
} 

यह आपके web.xml rewire बिना Htmleasy प्लगइन के कुछ व्यवहार emulates।

+0

RESTeasy दृश्य वस्तु क्या है क्या है? मुझे इसी तरह के मुद्दे हैं। मुझे आश्चर्य है कि रीस्टेसी के इन हिस्सों को इतनी खराब दस्तावेज दी गई है। – Sonny

+0

'http: // docs.jboss.org/resteasy/docs/3.0.6.Final/javadocs/index.html' मेरे लिए यह लगता है कि रीस्टेसी जेसन या एक्सएमएल वापस करने के लिए पसंद करता है। एक एमवीसी लौटने वाले जेएसपी विचारों के रूप में इसका उपयोग मॉडल को खींच रहा है। मैं शर्त लगाता हूं यही कारण है कि एचटीएमलेसी लिखा गया था। – majorbanzai

संबंधित मुद्दे