2012-01-06 2 views

답변

14

HTML 표준 mailto: link syntax을 사용하십시오. 생성 된 HTML 링크가이 JSF에 그 링크가 클라이언트의 기본 메일 작성 편집기가 열립니다 예를

<h:outputLink value="mailto:#{user.email}"> 
    <f:param name="subject" value="Some subject" /> 
    <f:param name="body" value="Some body" /> 
    <h:outputText value="mail" /> 
</h:outputLink> 

위해함으로써 달성 될 수있다

<a href="mailto:[email protected]?subject=Some%20subject&amp;body=Some%20body">mail</a> 

처럼 보이도록 끝나는 것을 당신은 확인해야합니다. subjectbody 매개 변수는 선택 사항이며 전자 메일 편집기에서 기본 제목 및 본문을 설정할 수 있습니다.

+2

JSF 메소드를 사용하여 내 Subject와 Body를 이스케이프 처리합니다. 각각 'Some + subject'및 'Some + body'입니다. 어쨌든이 문제를 해결하려면 (더 우아한 솔루션을 만들 수 있을까요?) – blo0p3r

+0

동일한 문제 및 해결 방법이 없습니다. – LStrike

+0

그냥 "Ask Question"버튼을 누른다. – BalusC

1

나쁜 소식은 + 대신 %20과 공간을 대체 쿼리 매개 변수로 제목과 본문을 탈출 h:outputLink은 JSF 태그입니다. 생성자의 첫 번째 두 개의 인수는 관련이없는 것으로

java.net.URI uri = new java.net.URI("mailto", "[email protected]", "subject=Some subject&body=Some body"); 
String result = "mailto:?" + uri.getRawFragment(); 
assert result.equals("mailto:?subject=Some%20subject&body=Some%20body"); 

참고 :

좋은 소식

java.net.URI 클래스와 올바른 결과를 얻을 수 있다는 것입니다.

당신은 당신의 JSF/Primefaces 태그의 href 속성에 result을 사용할 수있는 등 h:outputLink 또는 사전 정의 된 제목과 본문과 빈받는 사람 주소와 기본 전자 메일 클라이언트를 엽니 다 p:button.

관련 문제