我正在嘗試編寫一個簡單的計算器portlet,並且將其中一個按鈕的值傳遞給了我的portlet。還有我的.jsp的一部分:Portlet-表單中的多個按鈕
<portlet:actionURL var = "digit" name = "onDigitPressed">
<portlet:param name="jspPage" value = "/html/calc/view.jsp"/>
</portlet:actionURL>
<aui:form action="<%= digit %>" method="post" >
<table>
<tr><td>
<aui:button name="button" type = "submit" value="7" id="7"/>
</td><td>
<aui:button name="button" type = "submit" value="8" id="8" /> </td><td>
<aui:button name="button" type = "submit" value="9" id="9"/> </td><td>
</tr><tr><td>
.
.//more buttons
.
</tr><tr><td>
<aui:button name="button" type = "submit" value="0" id="0" /> </td><td>
<aui:button name="button" type = "submit" value="." id="." /> </td><td>
</td>
</tr>
</table>
</aui:form>
和onDigitPressed
方法:
request.getParameter("button");//returns always null
我想以某種方式通過該按鈕的價值,我想只有一個actionURL處理所有這些按鈕。只有一種形式也是很好的。必須有某種方式,但我不知道如何做到這一點,我是portlet和JSP中的新手。
編輯
我的問題的解釋不是很清楚 - 我想傳遞的值點擊按鈕。我需要這些信息來了解用戶想要計算的內容。當然我可以只用actionURL
s和form
s發送垃圾郵件,但我想用一種形式和actionURL來做到這一點。我敢打賭,它與onClick
屬性有關,我很確定我不能使用JavaScript,因爲它必須在服務器端完成,並且在客戶端執行javascript。
第二個解決了這個問題,但看起來很奇怪。第3號 - 可能使用類似Nisha的建議,但不在客戶端執行JavaScript?我必須以某種方式將它傳遞給我的portlet。或者用javascript做所有事情,但我想了解一些關於portlet的知識(傳遞參數等)。第一個看起來是最好的選擇,但我想要像表4x3中的普通計算器那樣具有數字按鈕。不幸的是,你不能在表格中放置表格,但是你可以做相反的事情 - 你可以在表格中放置表格。這就是爲什麼我找不到我的問題的好辦法。 – Jankiel
也許有辦法在一行中有多個表單。我對HTML不太瞭解。 – Jankiel
我沒有使用解決方案3,所以我不能提供一些代碼。但其含義是a)javascript更新隱藏的輸入字段,它包含在表單中b)控制器類上的portlet操作將能夠通過id或name來查找此值。 – yannicuLar