我試圖直接在JSP頁面中訪問通過JMX管理的MBean屬性。 我一直在使用這樣的事情在JSP中獲取MBean屬性
<jsp:useBean id="beanName" class="com.example.MBeanClass" scope="application" />
這給了沒有錯誤嘗試,但一旦我試過<%= beanName.getPropert() %>
,印空。我去了JMX管理頁面,並驗證了豆被初始化並且有正確設置的所有屬性,所以我的理論是,我的代碼以某種方式創建bean的新實例,而不是利用現有的一個。
按照useBean的文檔我看了,在jsp之間的任何東西:每當只創建一個新的bean useBean標籤運行。所以我修改我的代碼是這樣的:在打印
<jsp:useBean id="beanName" class="com.example.MBeanClass" scope="application" />
<jsp:setProperty name="beanName" property="propertyName" value="12345" />
</jsp:useBean>
仍然導致null
。所以我的觀點不是畢竟創建了一個新的bean。那麼爲什麼當JMX清楚地顯示該值已設置時它會返回null?
我覺得我需要的東西是怎麼回事,以便調試這一點,因爲我在那裏,我訴諸隨機改變代碼四處看看是否有神奇的工作點有更深的瞭解。我還玩弄了useBean的scope屬性和其他屬性,但都沒有成功。