2013-03-20 2 views
0

나의 양식은 6 개 필드가 포함되어 있습니다. 때로는 3 개의 입력과 때로는 4 개의 입력을 완료하는 경우도 있고 때로는 1 개의 입력 만 완료하는 경우도 있습니다.동적 검색 폼

나는 값이있는 6 개의 특성을 모두 갖는 사원 bean을 가지고 있습니다.

사용자의 주어진 입력으로이 직원 bean을 검색하려고합니다. 즉, 비교를 위해 사용할 게터를 동적으로 식별해야합니다. 사용자가 단지 3 개의 입력을 주었다면 비교를 위해서만 각각의 게터를 사용해야합니다.

+1

그럼 궁금한 점은 무엇입니까? [당신은 무엇을 시도 했습니까?] (http://www.whathaveyoutried.com) –

+0

그리고 귀하의 질문은 무엇입니까? 네가 쓴 것은 배정 설명처럼 들린다. 우리가 당신에게 대답하거나 직업을 갖기를 원하십니까? 질문하십시오. 우리가 시도한 것과 실패한 것을 보여주십시오. – ITroubs

+0

당신은 이미 무엇을 했습니까? – Averroes

답변

1

리플렉션을 사용할 수 있습니다. 예를 들어 사용자가 나이와 성별을 공개하지 않은 경우 getAge()getSex()을 호출하고 주어진 값과 비교해야합니다. 다음과 같은 게터 이름을 사용하는 코드를 작성하려면 : String getterName = "get" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1);

지금 당신이 그것을 호출 할 수

String value = String.valueOf(Person.getCalss().getMethod(getterName).invoke(person));

지금 바로 주어진 값과 비교합니다.

빈 액세스를 단순화하는 라이브러리를 사용할 수도 있습니다. 예 : 자카르타 프로젝트의 BeanUtils

+0

선생님, 저에게 많은 도움을 주심을 감사드립니다. 나는이 접근법에 대해 더 잘 알지 못합니다. 이제 알았어요. 다시 한번 감사드립니다. –

0

사용자는 Hamcrest Matchers와 같은 것을 사용할 수 있습니다. 예 :

String MATCH_ANY = "matchany83102176193580"; 

... 

if (mName.equals(search.mName) || mName.equals(MATCH_ANY))