2012-05-18 6 views
0

C# 사전을 사용하는 것과 같은 일종의 표를보기 위해 일부 OGNL을 작성해야했습니다. 이것은 충분히 쉬웠다 :OGNL의 와일드 카드?

#mapping=#{"XYZ":"1234","YZX":"5678"}, 
#mapping.get(this.A.toString()) 

그러나 이제 내 요구 사항이 변경되었습니다. 이제 좀 더 복잡한 규칙을 만들어야하고, OGNL이 그것을 할 수 있는지 확실하지 않습니다. 업데이트 된 표현식에 대한 몇 가지 요구 사항이 있습니다. 걱정할 가치가있는 두 가지 값과 조합이 있습니다.

  1. A에 대한 특정 값이 표시되면 항상 동일한 값을 반환합니다.
  2. A와 B 값의 특정 조합이 나타나면 다른 값을 반환하십시오.
  3. A가 특별히주의해야하는 값 이외의 값이 있으면 다른 값을 반환하십시오.

A와 B에 가능한 모든 값의 목록이있는 경우 각각의 연결과 각 경우에 대해 반환 할 적절한 값을 가진 매우 큰 해시 테이블을 만들 수 있습니다. 와일드 카드를 사용할 수 있다면 이렇게 쉬울 것 같습니다. 누구나 이것을 구현하는 방법에 대한 생각이 있거나 OGNL로 가능하다면?

답변

0

솔직히 말해서, 나는이 논리를 자바 메소드로 옮길 것입니다. 결국 ognl과 같은 방식으로 원하는 작업을 수행하는 방법을 알아낼 수 있습니까? 스타일의 null 핸들러도 지원됩니다 -하지만 왜 귀찮게합니까?

자바 스크립트는 투영과 자바 언어 지원과 같은 재귀 평가를 지원하지만 잘 모르겠습니다. . 나는 다른 곳으로 옮길 것을 선택할 것이고 ognl 자체에 상당한 수정/버그 수정/변경을했으며 잘 알고있다.

+0

실제로 람다식이있는 ognl에서 작동하고 있지만 실제로는 그렇지 않았 으면합니다. – SuperNES