Policy failures:

Code warning
- failed on resource dispatchArticle.jsp. Reason: No end tag (</div>)., line 209
- failed on resource dispatchArticle.jsp. Reason: No end tag (</div>)., line 20
Override reason:   
c
This commit is contained in:
Maxime Dagnicourt
2008-02-21 14:19:24 +00:00
parent fa6af53d60
commit 8abb35c928
15 changed files with 507 additions and 523 deletions

View File

@@ -252,9 +252,17 @@ invitation.send=Send an invitation
#DispatchMembers
members.List1=Members of the conference
members.List2=Members associate to the article
members.list1=Members of the conference
members.list2=Members associate to the article
dipatchArticle.description=Article's description
dipatchArticle.choose=Dispatch the articles between the members
disptachArticle.help=Click on an article to dispatch the members
#DelegateArticles
delegateArticles.choose=delegate the articles between to the referees
delegateArticles.list1= referees of the conference
delegateArticles.list2= referees aassociate to the article
delegateArticles.help=Click on an article to delegate it to the referees
#valider les articles
validate.download=download the article

View File

@@ -21,7 +21,7 @@
<li><a href="<c:url value="addConference.htm"/>"><fmt:message key="menu.chairman.conference.create" /></a></li>
</authz:authorize>
<li><a href="<c:url value="addConference.htm?action=modify"/>"><fmt:message key="menu.chairman.conference.modify" /></a></li>
<li><a href="<c:url value="dispatchArticleList.htm"/>"><fmt:message key="menu.chairman.article.dispatch" /></a></li>
<li><a href="<c:url value="dispatchArticle.htm"/>"><fmt:message key="menu.chairman.article.dispatch" /></a></li>
<li><a href="<c:url value="validateArticle.htm"/>"><fmt:message key="menu.chairman.article.validate" /></a></li>
</ul>
<div id="footer"></div>
@@ -34,7 +34,7 @@
<h4><fmt:message key="menu.pcmember.title" /></h4>
<ul>
<li><a href="<c:url value="choosePreference.htm"/>"><fmt:message key="menu.pcmember.article.preference" /></a></li>
<li><a href="<c:url value="#"/>"><fmt:message key="menu.pcmember.article.delegate" /></a></li>
<li><a href="<c:url value="delegateArticle.htm"/>"><fmt:message key="menu.pcmember.article.delegate" /></a></li>
<li><a href="<c:url value="#"/>"><fmt:message key="menu.pcmember.article.evaluation" /></a></li>
<li><a href="<c:url value="#"/>"><fmt:message key="menu.pcmember.article.evaluation.modify" /></a></li>
<li><a href="<c:url value="#"/>"><fmt:message key="menu.pcmember.article.discussion" /></a></li>

View File

@@ -0,0 +1,214 @@
<%@ include file="/WEB-INF/decorators/include.jsp"%>
<html>
<head>
<script type='text/javascript' src='./javascripts/prototype.js'></script>
<script type='text/javascript' src='./javascripts/scriptaculous.js'></script>
<script type='text/javascript' src='./dwr/engine.js'></script>
<script type='text/javascript' src='./dwr/util.js'></script>
<script type='text/javascript' src='./dwr/interface/DispatchArticlesJS.js'></script>
<script type="text/javascript">
var selectedArticleId;
var articleId;
var pattern;
function showDetail(artId){
articleId = artId;
var divTitle = 'title'+artId;
var divArticle = 'article'+artId;
if (!$(divTitle).hasClassName('selected')){
if(selectedArticleId != null){
removeAll(selectedArticleId);
$('title'+selectedArticleId).removeClassName('selected');
//new Effect.SlideUp('dispatcher'+selectedArticleId);
$('dispatcher'+selectedArticleId).hide();
}
selectedArticleId = articleId;
$(divTitle).addClassName('selected');
initDispatcher(divArticle);
}else{
removeAll(articleId);
//$('dispatcher'+articleId).remove();
//new Effect.SlideUp('dispatcher'+articleId);
$('dispatcher'+articleId).hide();
$(divTitle).removeClassName('selected');
selectedArticleId = null;
//, {afterFinish:function(){$('dispatcher').remove();}});
// $('dispatcherPattern').innerHTML = pattern;
}
}
function initDispatcher(elementId){
//container
//var pattern = $('dispatcherPattern').innerHTML
//$('dispatcherPattern').innerHTML = "";
//var elem = new Element('div',
//{'class':'dynamicListItem',
//'id':"dispatcher"}).update(pattern);
//$(elementId).insert(elem);
//listes
//DispatchArticlesJS.sayHello(articleId,retour);
DispatchArticlesJS.getMembersWithoutTheArticle(articleId,fillListMembers);
DispatchArticlesJS.getMembersWithTheArticle(articleId,fillListArticleMembers);
//new Effect.SlideDown('dispatcher'+articleId);
$('dispatcher'+articleId).show();
//buttons
//$('addButton').observe("click",addRemote());
//$('removeButton').observe("click",removeRemote());
//$('dispatcherPattern').innerHTML = pattern;
}
function retour(data){
alert(data);
}
function fillListArticleMembers(data){
for (var i = 0; i < data.length; i++) {
var member = data[i];
var value= member.firstName+" "+member.lastName +' nb articles:' + member.nbArticles
+ " preferences:"+ member.preference;
var elem = new Element('div',
{'class':'dynamicListItem','id':member.login,
"style":"border:1px"}).update(value);
$('membersArticleList'+articleId).insert(elem);
elem.observe('click', function(event){
select(Event.element(event));
});
}
}
function fillListMembers(data){
for (var i = 0; i < data.length; i++) {
var member = data[i];
var value= member.firstName+" "+member.lastName +' nb articles:' + member.nbArticles
+ " preferences:"+ member.preference;
var elem = new Element('div',
{'class':'dynamicListItem','id':member.login,
"style":"border:1px"}).update(value);
$('membersList'+articleId).insert(elem);
elem.observe('click', function(event){
select(Event.element(event));
});
}
}
function select(elem){
var item = elem;
if(item.hasClassName('selected')){
item.removeClassName('selected');
} else {
item.addClassName('selected');
}
}
function removeRemote() {
var itemsToRemove = $('membersList'+articleId).select('div.selected');
var membersId = itemsToRemove.pluck('id');
//var articleId = $('articleId').value;
DispatchArticlesJS.removeMembers(membersId, articleId, remove);
}
function remove() {
var itemsToRemove = $('membersArticleList'+articleId).select('div.selected');
//suppression dans la premi<6D>re liste
itemsToRemove.invoke('remove');
//ajout dans la seconde liste
if (itemsToRemove.length != 0){
for (var i = 0; i < itemsToRemove.length; i++) {
item = itemsToRemove[i];
item.removeClassName('selected');
$('membersList'+articleId).insert(item);
}
}
}
function addRemote(){
var itemsToAdd = $('membersList'+articleId).select('div.selected');
var membersId = itemsToAdd.pluck('id');
//var articleId = $('articleId').value;
DispatchArticlesJS.addMembers(membersId, articleId, add());
}
function add() {
var itemsToAdd = $('membersList'+articleId).select('div.selected');
//suppression dans la premi<6D>re liste
itemsToAdd.invoke('remove');
//ajout dans la seconde liste
if (itemsToAdd.length != 0){
for (var i = 0; i < itemsToAdd.length; i++) {
item = itemsToAdd[i];
item.removeClassName('selected');
$('membersArticleList'+articleId).insert(item);
}
}
}
function removeAll(artId){
var itemsToRemove = $('membersArticleList'+artId).select('div.dynamicListItem');
itemsToRemove.invoke('remove');
itemsToRemove = $('membersList'+artId).select('div.dynamicListItem');
itemsToRemove.invoke('remove');
}
</script>
</head>
<body>
<h4 class="title"><fmt:message key="delegateArticles.choose" /></h4>
<p class="formHelp">
<fmt:message key="delegateArticles.help" />
</p>
<c:forEach var="article" items="${articles}">
<div class=" conferenceBloc cbb">
<div id="article${article.id}">
<div id="title${article.id}" onclick="showDetail(${article.id})">
<h2>
title : ${article.title}
<br/>theme: ${article.topic}
<br/>main author: ${article.mainAuthor.firstName}{article.mainAuthor.lastName}
<a href="${article.URL_article}">download the article</a>
</h2>
</div>
<div id='dispatcher${article.id}' style="display:none;">
<table style="width:100%;">
<tr><td>
<h1><fmt:message key="members.List1"/></h1>
<div id="membersList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;">
</div>
</td><td>
<input type="button" id="addButton" value="add>>>" onclick="addRemote()"/><br/>
<input type="button" id="removeButton" value="<<<remove" onclick="removeRemote()"/>
</td><td>
<h1><fmt:message key="members.List2"/></h1>
<div id="membersArticleList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;">
</div>
</td></tr>
</table>
</div>
</div>
</div>
</c:forEach>
</body>
</html>

View File

@@ -1,77 +1,125 @@
<%@ include file="/WEB-INF/decorators/include.jsp"%>
<%@ include file="/WEB-INF/decorators/include.jsp"%>
<html>
<head>
<script type='text/javascript' src='./javascripts/prototype.js'></script>
<script type='text/javascript' src='./javascripts/scriptaculous.js'></script>
<script type='text/javascript' src='./dwr/engine.js'></script>
<script type='text/javascript' src='./dwr/util.js'></script>
<script type='text/javascript' src='./dwr/interface/DispatchArticlesJS.js'></script>
<script type='text/javascript' src='./javascripts/prototype.js'></script>
<script type='text/javascript' src='./javascripts/scriptaculous.js'></script>
<script type='text/javascript'>
<script type="text/javascript">
var InvitationsManager = Class.create({
initialize: function(buttonAdd,buttonRemove){
this.buttonAdd = buttonAdd;
this.buttonRemove = buttonRemove;
var selectedArticleId;
var articleId;
var pattern;
$(buttonAdd).observe("click",this.addRemote.bind(this));
$(buttonRemove).observe("click",this.removeRemote.bind(this));
function showDetail(artId){
articleId = artId;
var divTitle = 'title'+artId;
var divArticle = 'article'+artId;
DispatchArticlesJS.getMembersWithTheArticle($('articleId').value,this.fillListArticleMembers.bind(this));
DispatchArticlesJS.getMembersWithoutTheArticle($('articleId').value,this.fillListMembers.bind(this));
},
fillListArticleMembers: function(data){
for (var i = 0; i < data.length; i++) {
var member = data[i];
var value= member.firstName+" "+member.lastName +'(' + member.nbArticles + ')'
+ " preferences:"+ member.Preference;
var elem = new Element('div',
{'class':'dynamicListItem','id':member.login}).update(value);
$('membersArticleList').insert(elem);
elem.observe('click', this.select.bindAsEventListener());
if (!$(divTitle).hasClassName('selected')){
if(selectedArticleId != null){
removeAll(selectedArticleId);
$('title'+selectedArticleId).removeClassName('selected');
//new Effect.SlideUp('dispatcher'+selectedArticleId);
$('dispatcher'+selectedArticleId).hide();
}
selectedArticleId = articleId;
$(divTitle).addClassName('selected');
initDispatcher(divArticle);
//a placer sur tous les items :
//elem.observe('click', this.select.bindAsEventListener());
}else{
removeAll(articleId);
//$('dispatcher'+articleId).remove();
//new Effect.SlideUp('dispatcher'+articleId);
$('dispatcher'+articleId).hide();
$(divTitle).removeClassName('selected');
selectedArticleId = null;
//, {afterFinish:function(){$('dispatcher').remove();}});
// $('dispatcherPattern').innerHTML = pattern;
}
},
}
fillListMembers: function(data){
function initDispatcher(elementId){
//container
//var pattern = $('dispatcherPattern').innerHTML
//$('dispatcherPattern').innerHTML = "";
//var elem = new Element('div',
//{'class':'dynamicListItem',
//'id':"dispatcher"}).update(pattern);
//$(elementId).insert(elem);
//listes
//DispatchArticlesJS.sayHello(articleId,retour);
DispatchArticlesJS.getMembersWithoutTheArticle(articleId,fillListMembers);
DispatchArticlesJS.getMembersWithTheArticle(articleId,fillListArticleMembers);
//new Effect.SlideDown('dispatcher'+articleId);
$('dispatcher'+articleId).show();
//buttons
//$('addButton').observe("click",addRemote());
//$('removeButton').observe("click",removeRemote());
//$('dispatcherPattern').innerHTML = pattern;
}
function retour(data){
alert(data);
}
function fillListArticleMembers(data){
for (var i = 0; i < data.length; i++) {
var member = data[i];
var value= member.firstName+" "+member.lastName +'(' + member.nbArticles + ')'
+ " preferences:"+ member.Preference;
var value= member.firstName+" "+member.lastName +' nb articles:' + member.nbArticles
+ " preferences:"+ member.preference;
var elem = new Element('div',
{'class':'dynamicListItem','id':member.login}).update(value);
$('membersList').insert(elem);
elem.observe('click', this.select.bindAsEventListener());
{'class':'dynamicListItem','id':member.login,
"style":"border:1px"}).update(value);
$('membersArticleList'+articleId).insert(elem);
elem.observe('click', function(event){
select(Event.element(event));
});
}
},
}
select: function(event){
var item = event.element();
function fillListMembers(data){
for (var i = 0; i < data.length; i++) {
var member = data[i];
var value= member.firstName+" "+member.lastName +' nb articles:' + member.nbArticles
+ " preferences:"+ member.preference;
var elem = new Element('div',
{'class':'dynamicListItem','id':member.login,
"style":"border:1px"}).update(value);
$('membersList'+articleId).insert(elem);
elem.observe('click', function(event){
select(Event.element(event));
});
}
}
function select(elem){
var item = elem;
if(item.hasClassName('selected')){
item.removeClassName('selected');
} else {
item.addClassName('selected');
}
},
}
removeRemote: function() {
var itemsToRemove = $('membersList').select('div.selected');
function removeRemote() {
var itemsToRemove = $('membersList'+articleId).select('div.selected');
var membersId = itemsToRemove.pluck('id');
var articleId = $('articleId').value;
DispatchArticlesJS.removeMembers(membersId, articleId, this.remove.bind(this));
},
//var articleId = $('articleId').value;
DispatchArticlesJS.removeMembers(membersId, articleId, remove);
}
remove: function() {
var itemsToRemove = $('membersArticleList').select('div.selected');
function remove() {
var itemsToRemove = $('membersArticleList'+articleId).select('div.selected');
//suppression dans la premi<6D>re liste
itemsToRemove.invoke('remove');
@@ -80,21 +128,21 @@
for (var i = 0; i < itemsToRemove.length; i++) {
item = itemsToRemove[i];
item.removeClassName('selected');
$('membersList').insert(item);
$('membersList'+articleId).insert(item);
}
}
},
}
addRemote: function(){
var itemsToAdd = $('membersList').select('div.selected');
function addRemote(){
var itemsToAdd = $('membersList'+articleId).select('div.selected');
var membersId = itemsToAdd.pluck('id');
var articleId = $('articleId').value;
DispatchArticlesJS.removeMembers(membersId, articleId, this.add.bind(this));
//var articleId = $('articleId').value;
DispatchArticlesJS.addMembers(membersId, articleId, add());
},
}
add: function() {
var itemsToAdd = $('membersList').select('div.selected');
function add() {
var itemsToAdd = $('membersList'+articleId).select('div.selected');
//suppression dans la premi<6D>re liste
itemsToAdd.invoke('remove');
@@ -103,44 +151,61 @@
for (var i = 0; i < itemsToAdd.length; i++) {
item = itemsToAdd[i];
item.removeClassName('selected');
$('membersArticleList').insert(item);
$('membersArticleList'+articleId).insert(item);
}
}
}
});
Event.observe(window,'load', function(){
new DispatcheManager('addButton','removeButton')});
function removeAll(artId){
var itemsToRemove = $('membersArticleList'+artId).select('div.dynamicListItem');
itemsToRemove.invoke('remove');
itemsToRemove = $('membersList'+artId).select('div.dynamicListItem');
itemsToRemove.invoke('remove');
}
</script>
</head>
<body>
<div id=dispatcher></div>
<h4 class="title">NO NAME</h4>
<h4 class="title"><fmt:message key="disptachArticle.choose" /></h4>
<input type=hidden id="articleId" value="${article.id}">
<div style="display:inline;border:1px">
<h2><fmt:message key="members.List1"/></h2>
<div id="membersList">
<div>
<h4 class="title"><fmt:message key="delegateArticles.choose" /></h4>
<p class="formHelp">
<fmt:message key="disptachArticle.help" />
</p>
<c:forEach var="article" items="${articles}">
<div class=" conferenceBloc cbb">
<div id="article${article.id}">
<div id="title${article.id}" onclick="showDetail(${article.id})">
<h2>
title : ${article.title}
<br/>theme: ${article.topic}
<br/>main author: ${article.mainAuthor.firstName}{article.mainAuthor.lastName}
<a href="${article.URL_article}">download the article</a>
</h2>
</div>
<div id='dispatcher${article.id}' style="display:none;">
<table style="width:100%;">
<tr><td>
<h1><fmt:message key="members.list1"/></h1>
<div id="membersList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;">
</div>
</td><td>
<input type="button" id="addButton" value="add>>>" onclick="addRemote()"/><br/>
<input type="button" id="removeButton" value="<<<remove" onclick="removeRemote()"/>
</td><td>
<h1><fmt:message key="members.list2"/></h1>
<div id="membersArticleList${article.id}" style="border:1px solid black; max-height:150px;overflow:auto;">
</div>
</td></tr>
</table>
</div>
</div>
<input type="button" id="addButton" value="add"/>
<input type="button" id="removeButton" value="remove"/>
<h2><fmt:message key="members.List2"/></h2>
<div id="membersArticleList">
</div>
</div>
</body>
</div>
</c:forEach>
<div>
</body>
</html>

View File

@@ -1,182 +0,0 @@
<%@ include file="/WEB-INF/decorators/include.jsp"%>
<html>
<head>
<script type='text/javascript' src='./javascripts/prototype.js'></script>
<script type='text/javascript' src='./javascripts/scriptaculous.js'></script>
<script type='text/javascript' src='./dwr/engine.js'></script>
<script type='text/javascript' src='./dwr/util.js'></script>
<script type='text/javascript' src='./dwr/interface/DispatchArticlesJS.js'></script>
<script type="text/javascript">
var selectedElement;
var articleId;
function showDetail(artId){
var articleId = artId;
var divTitle = 'title'+artId;
var divArticle = 'article'+artId;
if (!$(divTitle).hasClassName('selected')){
if($('dispatcher')!= null){
$('dispatcher').remove();
selectedElement.removeClassName('selected');
}
selectedElement = $(divTitle);
$(divTitle).addClassName('selected');
initDispatcher(divArticle);
}else{
$(divTitle).removeClassName('selected');
new Effect.SlideUp('dispatcher', {afterFinish:function(){$('dispatcher').remove();}});
}
}
function initDispatcher(elementId){
//container
var pattern = $('dispatcherPattern').innerHTML;
var elem = new Element('div',
{'class':'dynamicListItem',
'style':'background:pink;display:none',
'id':"dispatcher"}).update(pattern);
$(elementId).insert(elem);
new Effect.SlideDown('dispatcher');
//listes
//DispatchArticlesJS.sayHello("maxime",retour);
DispatchArticlesJS.getMembersWithoutTheArticle(articleId,fillListMembers);
DispatchArticlesJS.getMembersWithTheArticle(articleId,fillListArticleMembers);
//buttons
$('addButton').observe("click",addRemote());
$('removeButton').observe("click",removeRemote());
}
function retour(data){
alert(data);
}
function fillListArticleMembers(data){
for (var i = 0; i < data.length; i++) {
var member = data[i];
var value= member.firstName+" "+member.lastName +'(' + member.nbArticles + ')'
+ " preferences:"+ member.Preference;
var elem = new Element('div',
{'class':'dynamicListItem','id':member.login}).update(value);
$('membersArticleList').insert(elem);
elem.observe('click', this.select.bindAsEventListener());
}
}
function fillListMembers(data){
for (var i = 0; i < data.length; i++) {
var member = data[i];
var value= member.firstName+" "+member.lastName +'(' + member.nbArticles + ')'
+ " preferences:"+ member.Preference;
var elem = new Element('div',
{'class':'dynamicListItem','id':member.login}).update(value);
$('membersList').insert(elem);
elem.observe('click', select(elem));
}
}
function select(item){
if(item.hasClassName('selected')){
item.removeClassName('selected');
} else {
item.addClassName('selected');
}
}
function removeRemote() {
var itemsToRemove = $('membersList').select('div.selected');
var membersId = itemsToRemove.pluck('id');
//var articleId = $('articleId').value;
DispatchArticlesJS.removeMembers(membersId, articleId, remove);
}
function remove() {
var itemsToRemove = $('membersArticleList').select('div.selected');
//suppression dans la premi<6D>re liste
itemsToRemove.invoke('remove');
//ajout dans la seconde liste
if (itemsToRemove.length != 0){
for (var i = 0; i < itemsToRemove.length; i++) {
item = itemsToRemove[i];
item.removeClassName('selected');
$('membersList').insert(item);
}
}
}
function addRemote(){
var itemsToAdd = $('membersList').select('div.selected');
var membersId = itemsToAdd.pluck('id');
//var articleId = $('articleId').value;
DispatchArticlesJS.removeMembers(membersId, articleId, add());
}
function add() {
var itemsToAdd = $('membersList').select('div.selected');
//suppression dans la premi<6D>re liste
itemsToAdd.invoke('remove');
//ajout dans la seconde liste
if (itemsToAdd.length != 0){
for (var i = 0; i < itemsToAdd.length; i++) {
item = itemsToAdd[i];
item.removeClassName('selected');
$('membersArticleList').insert(item);
}
}
}
</script>
</head>
<body>
<div id='dispatcherPattern' style="display:none">
<table>
<tr><td>
<h1><fmt:message key="members.List1"/></h1>
<div id="membersList">
</div>
</td><td>
<input type="button" id="addButton" value="add>>>"/><br/>
<input type="button" id="removeButton" value="<<<remove"/>
</td><td>
<h1><fmt:message key="members.List2"/></h1>
<div id="membersArticleList">
</div>
</td></tr>
</table>
</div>
<h4 class="title"><fmt:message key="disptachArticle.choose" /></h4>
<c:forEach var="article" items="${articles}">
<div id="article${article.id}">
<div id="title${article.id}" onclick="showDetail(${article.id})">
<h2>
<table>
<tr>
<td>title : ${article.title}
<br/>theme: ${article.topic}
<br/>main author: ${article.mainAuthor.firstName}{article.mainAuthor.lastName}
<td><a href="${article.URL_article}">download the article</a></td>
</tr>
</table>
</h2>
</div>
</div>
</c:forEach>
</body>
<div>
</html>

View File

@@ -27,8 +27,8 @@
<prop key="/registerUser.htm">SUserRegistrationController</prop>
<prop key="/submissionArticle.htm">SArticleController</prop>
<prop key="/choosePreference.htm">ChoosePreferenceController</prop>
<prop key="/dispatchArticleList.htm">DispatchArticleListController</prop>
<prop key="/dispatchArticle.htm">DispatchArticleController</prop>
<prop key="/delegateArticle.htm">DelegateArticleController</prop>
<prop key="/addConference.htm">AddConferenceController</prop>
<prop key="/reportConfCreate.htm">ReportConfCreateController</prop>
<prop key="/evaluation.htm">EvaluationController</prop>
@@ -172,21 +172,21 @@
<bean id="DispatchArticleController"
class="org.yacos.web.chairman.controller.DispatchArticleController">
<property name="articleManager" ref="articleManager" />
<property name="userManager" ref="userManager" />
<property name="conferenceManager" ref="conferenceManager" />
</bean>
<bean id="DispatchArticleListController"
class="org.yacos.web.chairman.controller.DispatchArticleListController">
<dwr:remote javascript="DispatchArticlesJS" />
<property name="articleManager" ref="articleManager" />
<property name="userManager" ref="userManager" />
<property name="conferenceManager" ref="conferenceManager" />
</bean>
<bean id="DelegateArticleController"
class="org.yacos.web.PCmember.controller.DelegateArticleController">
<dwr:remote javascript="DelegateArticlesJS" />
<property name="articleManager" ref="articleManager" />
<property name="userManager" ref="userManager" />
<property name="conferenceManager" ref="conferenceManager" />
</bean>
<bean id="AddConferenceController"
class="org.yacos.web.chairman.controller.AddConferenceController"
scope="session">
@@ -298,6 +298,10 @@
<dwr:convert type="bean"
class="org.yacos.web.chairman.controller.PCMemberBean">
</dwr:convert>
<dwr:convert type="bean"
class="org.yacos.web.PCmember.controller.RefereeBean">
</dwr:convert>
<dwr:convert type="bean" class="java.lang.StackTraceElement"></dwr:convert>
<dwr:convert type="exception" class="java.lang.exception"></dwr:convert>