我创建了一个UserSession dto对象,并添加了许多字段,例如lastloginTime
,lastAccessedTime
,userName
等。
我想使用Struts2的OGNL概念在jsp中显示这些
我写了
<li class="current_page_item"><b>Last Login Time <s:property value="#session.USROBJECT"/> </b></li>
在行动中,我写了
sessionMap.put("USROBJECT", us);
我在jsp上获取对象,但我想显示其字段。
答案 0 :(得分:2)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/cards"
style="@style/CardView.Dark"
android:layout_width="match_parent"
android:layout_height="match_parent"
card_view:cardCornerRadius="4dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:padding="10dp">
<TextView
android:id="@+id/usersName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:paddingTop="10dp"
android:text="Username"
android:textColor="#FFFFFF" />
<TextView
android:id="@+id/others"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/usersName"
android:layout_centerVertical="true"
android:paddingTop="10dp"
android:text="Others"
android:textColor="#FFFFFF" />
</RelativeLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
对象始终可从值堆栈
#session
您应该为字段<s:property value="#session.USROBJECT.lastloginTime"/>
<s:property value="#session.USROBJECT.lastAccessedTime"/>
<s:property value="#session.USROBJECT.userName "/>
,lastloginTime
,lastAccessedTime
等创建getter。
您可以找到here的详细信息和参考资料。
但是userName
你应该注入动作类实现的sessionMap
接口。这是一种更好的方法。
您可以看到here如何实施SessionAware
界面。