2011-09-19 2 views
1

그림을로드하고 사용자가자를 수있는 페이지가 있습니다. 것은, (x1, y1)과 (x2, y2)의 값은 js이고 나는 그것들을 나의 백엔드에 필요로합니다. 어떻게 그것을 BackBean에 전달합니까?Java + JSF 2.0에서 jCrop으로 그림 자르기

<script type="text/javascript"> 



    $(function(){ 

     $('#jcroptarget').Jcrop({ 


     trackDocument: true, 

     onChange: showCoords, 

     onSelect: showCoords, 

     aspectRatio: 1 

     }); 
    }); 

    function showCoords(c) 
    { 

     $('#x').val(c.x); 

     $('#y').val(c.y); 

     $('#x2').val(c.x2); 

     $('#y2').val(c.y2); 

     $('#w').val(c.w); 

     $('#h').val(c.h); 

    }; 

</script> 

<div> 
    <label>X1 <input type="text" name="x" id="x" size="4" /></label> 
    <label>Y1 <input type="text" name="y" id="y" size="4" /></label> 
    <label>X2 <input type="text" name="x2" id="x2" size="4" /></label> 
    <label>Y2 <input type="text" name="y2" id="y2" size="4" /></label> 
    <label>W <input type="text" name="w" id="w" size="4" /></label> 
    <label>H <input type="text" name="h" id="h" size="4" /></label> 
</div> 
+0

당신은에 대한 FAQ를 읽어 약간의 시간이 걸릴 수도 있습니다 귀하의 질문/답변 서식을 지정하십시오. 코드는 ">"로 포맷해서는 안되며 대신 적어도 4 칸만큼 들여 쓰기해야합니다. "편집"보기에서 ** {} ** 가제트를 사용하여이 작업을 수행 할 수 있습니다. – Pointy

+0

지금 잘 보입니까? – pringlesinn

+0

그래, 그게 훨씬 좋네요 :-) 나는 아직도 실제 질문에 대해 생각하고 있습니다. – Pointy

답변

3

그 입력은 백업 빈에 제출 동일한 형태 인 경우에, 당신은 요청 매개 변수지도에서 그들을 잡을 수

Map<String, String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap(); 
String x = params.get("x"); 
String y = params.get("y"); 
String x2 = params.get("x2"); 
String y2 = params.get("y2"); 
String w = params.get("w"); 
String h = params.get("h"); 

또는, 당신은 그들을 선언 할 수 있습니다 JSF는 요청 범위가 설정된 bean의 구성시이를 설정합니다.

@ManagedProperty("#{param.x}") 
private Integer x; 
@ManagedProperty("#{param.y}") 
private Integer y; 
@ManagedProperty("#{param.x2}") 
private Integer x2; 
@ManagedProperty("#{param.y2}") 
private Integer y2; 
@ManagedProperty("#{param.w}") 
private Integer w; 
@ManagedProperty("#{param.h}") 
private Integer h; 

단지 그 특성을 가진

<label>X1 <h:inputText id="x" value="#{bean.x}" size="4" /></label> 
<label>Y1 <h:inputText id="y" value="#{bean.y}" size="4" /></label> 
<label>X2 <h:inputText id="x2" value="#{bean.x2}" size="4" /></label> 
<label>Y2 <h:inputText id="y2" value="#{bean.y2}" size="4" /></label> 
<label>W <h:inputText id="w" value="#{bean.w}" size="4" /></label> 
<label>H <h:inputText id="h" value="#{bean.h}" size="4" /></label> 

:

private Integer x; 
private Integer y; 
private Integer x2; 
private Integer y2; 
private Integer w; 
private Integer h; 
사용자가 수동으로 잡아 또는 관리 속성으로 그들을 얻을 필요가 없도록

또는 당신은 빈 속성에 그 입력을 결합 할 수있다

<h:form id> 값을 씁니다 JQuery와 선택기를 해결하는 것을 잊지 마세요 :

$('#formId\\:x').val(c.x); 
$('#formId\\:y').val(c.y); 
$('#formId\\:x2').val(c.x2); 
$('#formId\\:y2').val(c.y2); 
$('#formId\\:w').val(c.w); 
$('#formId\\:h').val(c.h); 
+0

backing bean에 값을 바인딩 한 후 valus x, y, x2, y2, w, h를 사용하여 자른 이미지를 어떻게 얻을 수 있습니까? 내가 본 code는 JSF에있는 것입니다. –

+0

@Amlan : Just Java 2D API를 사용하십시오. 그 부분은 JSF와 완전히 무관합니다. 테스트 변수의 고정 된 세트로'main()'메소드를 사용하여 일반 자바 애플리케이션에서 할 수있는 것과 똑같이 실험/수행하십시오. 일단 작동하게되면, 그 코드를 독립형 클래스/메소드에 넣고 JSF backing bean 액션 메소드에서 호출한다. – BalusC

관련 문제