2016-02-08 3 views
0

У меня есть HashMap с кв, и есть некоторые DUP ключи там, как:Как заполнить таблицу html с hashmap k, v?

123 Foo

123 липкая

345 ггг

567 KKK

Я хочу заполнить мой html-стол этой информацией, даже если есть дубликаты, так что я могу просто распечатать его:

for (Map.Entry<String, List<String>> entry : total.entrySet()) { 
    for (String s : entry.getValue()) { 
    System.out.println(entry.getKey() + " " + s); 
    } 
} 

так как теперь я могу заполнить таблицу, я пытался что-то вроде этого:

<table id="ptable" border="1"> 

      <tr> 
        <td style="text-align: center;">ID</td> 
        <td style="text-align: center;">Month</td> 
      </tr> 
</table> 

, а затем:

< c:forEach var="employeeHash" items="${employeeHash}" > 
    <td>${employeeSkills.key.id}</td> 
</c:forEach> 

, но я не знаю, как добраться до значения для каждого ключа. ..

я хочу окончательные разрешения выглядеть следующим образом:

ключа Вал

123 KKK

123 FFF

345 LLL

+0

Извините, но я не понимаю вопрос. Hashmaps не предназначены для приема дубликатов ключей, поэтому действительно полезно преобразовать ваш 'HashMap ' в 'HashMap >'. Но я не понимаю, где точка блокировки. –

+0

точкой блокировки является то, как im iterating на hashmap в файле jsp и печатает его в html. @ArnaudDenoyelle – Joe

+0

Помогла ли эта ссылка? http://stackoverflow.com/questions/1835683/how-to-loop-through-a-hashmap-in-jsp Вам действительно нужно вложить 2 'c: forEach': один на' map.entrySet', а другой на 'entry.getValue' (который является списком) –

ответ

0

Если предположить, что employeeObjMap имеет ключ и значение. Следующий код должен работать.

<table> 
    <TH>Key</th> 
    <TH>Value</th> 
    <c:forEach items="${employeeObjMap }" var="current"> 
    <tr> 
     <td><c:out value="${current.key}" /><td> 
     <td><c:out value="${current.value}" /><td> 
    </tr> 
    </c:forEach> 
</table> 
+0

учтите, что это список, который может содержать несколько строк ... – Joe

+0

Мне нужно отправить мой хэш-файл на сеанс, используя request.getSession.setAttribute (myHashMap), и тогда я смогу получить к нему доступ? причина теперь я не могу – Joe

+0

@Joe Вы получите то, что вы пошлете. –

0

Вы можете сказать, что вы хотите получить значение, как и что:

<c:forEach var="employeeHash" items="${employeeHash}" > 
    <td>${employeeSkills.key.id}</td> 
    <td>${employeeSkills.value}</td> 
</c:forEach> 

Посмотрите в этой ссылке: Use <c:forEach> with HashMap

+0

Хотя это может ответить на вопрос, [было бы предпочтительно] (http://meta.stackoverflow.com/q/8259), чтобы включить здесь основные части ответа и предоставить ссылку для справки. – Panda

+0

Мне нужно отправить мой hashmap на сеанс, используя request.getSession.setAttribute (myHashMap), и тогда я смогу получить к нему доступ? причина теперь я не могу – Joe

0

Это должно быть комментарий, но у меня нет достаточно место. Пожалуйста, не голосуйте.

Я не эксперт, но JSP вложенности 2 Еогеасп должен сделать трюк:

<c:forEach var="entry" items="${map}" > 
    <!-- entry.key is employee.key --> 
    <!-- entry.value is employee.skills --> 
    <c:forEach var="skillId" items="${entry.value}" > 
    <tr> 
     <td>${entry.key}</td> 
     <td>${skillId}</td> 
    </tr> 
    </c:forEach> 
</c:forEach> 
Смежные вопросы