JSP 中的观察者实施
Observer implementation in JSP
我在实现设计模式方面遇到了这样的问题。我有一些 class 在我的项目中保持警惕,是 observerManager 以及 jsp 页面中的一些观察者。观察者将等待来自 observerManager 的通知(当用户添加一些信息或更改某些内容时,运行 observerManager 中的 notifyChanged)。这些 class 现已实施。
我最大的问题是如何使用这些。
public class ObserverManagerImp implements ObserverManager{
private LinkedList<Observer> observers;
private User user;
private ActionDone action;
public ObserverManagerImp() {
observers = new LinkedList<Observer>();
}
@Override
public void registerObserver(Observer observer) {
observers.add(observer);
}
@Override
public void unregisterObserver(Observer observer) {
observers.remove(observer);
}
@Override
public void notifyObservers() {
for(Observer observer : observers)
observer.update(user,action);
}
public void dataChanged(User user, ActionDone action){
this.user= user;
this.action = action;
notifyObservers();
}
}
界面观察者。在这个地方(在更新方法中)我想 运行 jquery 函数显示来自 jsp 的内容。
public interface Observer {
public void update(User user, ActionDone action);
}
在 JSP 文件中是一些用 html 编写的框,我想在 observerManager 通知时弹出它。
<div id="message_content">
<div class="title" >Notification</div>
<div class="close" ><img id="close_button" src="images/close.png" id="close_button" width="25" height="25"/></div>
<div class="clear"></div>
<div class="message">User: name surname, added new comment</div>
<div class="clear"></div>
<button id="close_button" class="close_button" >Refresh Panel</button>
</div>
和javascript函数在此jsp:
function showUp(userName, userSurname, actionCode){
$("#message_content.message").empty().append("User: " + userName + " " + userSurname + "was " + actionCode);
$("#message_content").show();
}
并且在这个 jsp 中我还创建了一个观察者对象。
请帮忙。
不如试试 ServletRequestAttributeListener ,你将能够监听到请求属性的变化。
http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequestAttributeListener.html
我在实现设计模式方面遇到了这样的问题。我有一些 class 在我的项目中保持警惕,是 observerManager 以及 jsp 页面中的一些观察者。观察者将等待来自 observerManager 的通知(当用户添加一些信息或更改某些内容时,运行 observerManager 中的 notifyChanged)。这些 class 现已实施。 我最大的问题是如何使用这些。
public class ObserverManagerImp implements ObserverManager{
private LinkedList<Observer> observers;
private User user;
private ActionDone action;
public ObserverManagerImp() {
observers = new LinkedList<Observer>();
}
@Override
public void registerObserver(Observer observer) {
observers.add(observer);
}
@Override
public void unregisterObserver(Observer observer) {
observers.remove(observer);
}
@Override
public void notifyObservers() {
for(Observer observer : observers)
observer.update(user,action);
}
public void dataChanged(User user, ActionDone action){
this.user= user;
this.action = action;
notifyObservers();
}
}
界面观察者。在这个地方(在更新方法中)我想 运行 jquery 函数显示来自 jsp 的内容。
public interface Observer {
public void update(User user, ActionDone action);
}
在 JSP 文件中是一些用 html 编写的框,我想在 observerManager 通知时弹出它。
<div id="message_content">
<div class="title" >Notification</div>
<div class="close" ><img id="close_button" src="images/close.png" id="close_button" width="25" height="25"/></div>
<div class="clear"></div>
<div class="message">User: name surname, added new comment</div>
<div class="clear"></div>
<button id="close_button" class="close_button" >Refresh Panel</button>
</div>
和javascript函数在此jsp:
function showUp(userName, userSurname, actionCode){
$("#message_content.message").empty().append("User: " + userName + " " + userSurname + "was " + actionCode);
$("#message_content").show();
}
并且在这个 jsp 中我还创建了一个观察者对象。 请帮忙。
不如试试 ServletRequestAttributeListener ,你将能够监听到请求属性的变化。
http://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequestAttributeListener.html