2010-05-07 5 views
0

xslt 변환을 사용하여 html 기반 템플릿을 만들려고합니다. 트랜스포머가 반환 한 문자열 결과는 완벽하게 훌륭합니다.하지만이를 표시하려고하면 브라우저가 해석하지 않습니다. 출력은 <html><body>...</body></html>과 같습니다. 표시되는 소스를 볼 때 &lt;html&gt;... 어떻게 해결할 수 있습니까? 도와주세요. 미리 감사드립니다.XSLT 문제

+0

스타일 시트를 보여줄 수 있습니까? –

답변

1

출력 방법을 올바르게 지정 했습니까? HTML로 설정해야합니다 :

<xsl:output method="html" encoding="UTF-8" /> 
+0

예 출력 방법 'html'을 사용했습니다. 서버 콘솔에서 문자열을 인쇄 할 때 제대로 HTML 태그를 인쇄하지만 브라우저에서는 해석되지 않습니다. – sindhu

+0

@sindhu : 스타일 시트와 코드를 호출하고 출력을 저장하는 데 사용할 수있는 코드를 표시 할 수 있습니까? –

0

<xsl:output value="html"/> <xsl:template match="mail[@type='pinReset']">
<html><body> <xsl:variable name="userService" select="java:new()"/> <i><u>Message body </u><xsl:value-of select="mailMessage/mail/body/prefix"/></i> <a><xsl:attribute name="href"> <xsl:value-of select="java:getResetPinUrl($userService)"/></xsl:attribute> reset pin </a> <i><xsl:value-of select="mailMessage/body/suffix"/></i><br/>
</body> </html> </xsl:template> </xsl:stylesheet>

이 내 XSL입니다.

public String getXformedString(int type){ String xFormedString = ""; String xsltFile = "D:\\SitesContent\\sitescontent_war\\JavaSource\\com\\tgt\\mobile\\gc\\controller\\email.xsl"; String xmlFile="D:\\SitesContent\\sitescontent_war\\JavaSource\\com\\tgt\\mobile\\gc\\controller\\emailBody.xml"; StringWriter stWr = new StringWriter(); File xsltfile = new File(xsltFile); File xmlfile = new File(xmlFile); Source xmlSource = new StreamSource(xmlfile); Source xsltSource = new StreamSource(xsltfile); Result result = new StreamResult(stWr); TransformerFactory transFact = TransformerFactory.newInstance(); try { Transformer transformer= transFact.newTransformer(xsltSource); transformer.setParameter("type",new Integer(type)); transformer.transform(xmlSource, result); xFormedString = stWr.toString(); System.out.println("Str->"+xFormedString); } catch (TransformerConfigurationException e) { // TODO Auto-generated catch block
e.printStackTrace(); } catch (TransformerException e) { // TODO Auto-generated catch block e.printStackTrace(); } return xFormedString; }

는 XML 및 XSLT에서 형성 문자열을 얻을 수있는 코드입니다.