I need to display a confirmation when try to delete an entity. I use Remoting and work fine, I need to redirect to another page after the acction but the rule not work.
Can any body help me? thanks in advance.
this is my code:
user.xhtml page:
....
<script type="text/javascript" src="seam/resource/remoting/resource/remote.js"></script>
<script type="text/javascript" src="seam/resource/remoting/interface.js?userEraser"></script>
<s:remote include="userEraser" />
<script type="text/javascript">
//<![CDATA[
function confirmRemove(id, name) {
if (confirm("Seguro que desea eliminar el usuario "+name+"?")) {
Seam.Component.getInstance("userEraser").remove(id);
}
}
// ]]>
</script>
....
<h:commandButton id="delete" value="Eliminar"
onclick="javascript:confirmRemove('#{userHome.instance.id}', '#{userHome.instance.name}');"
rendered="#{userHome.managed}"/>
....UserEraser.java:
@Local
public interface UserEraser {
@WebRemote
public void remove(Long id);
}UserEraserBean.java
@Stateless
@Name("userEraser")
public class UserEraserBean implements UserEraser {
@Logger private Log log;
@In FacesMessages facesMessages;
@PersistenceContext
EntityManager entityManager;
public void remove(Long id)
{
User user = entityManager.find(User.class, id);
entityManager.remove(user);
log.info("userEraser.remove() action called");
facesMessages.add("remove");
}
}pages.xml
<page view-id="/user.xhtml">
<navigation from-action="#{userEraser.remove}">
<rule>
<render view-id="/userList.xhtml" />
</rule>
</navigation>
</page>