UiException on setting <h:li> elements class attribute with @load

asked 2015-07-31 09:38:45 +0800

LajB gravatar image LajB

Hey, I'm trying to set a native li elements class dynamically from the session with @load:

<h:li class="@load(sessionScope.selectedMenu)">

When I load the page I get this error:

org.zkoss.zk.ui.UiException: Cannot convert articleTable of type class java.lang.String to class java.lang.Class

ArticleTable is the value of the selectedMenu session attribute. It gives the same error when I try this:

<h:li class="@load('something')">

I also tried accessing session attribute with the ${sessionScope.selectedMenu} syntax, but it didn't give back any value, which is strange because I use the same syntax to access labels and that works fine.

Am I doing something wrong or this is just not possible?


delete flag offensive retag edit


The compiler expect for class a real class object. You give a string object. Thats why you have the fault.

chillworld ( 2015-08-01 18:42:05 +0800 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2015-07-31 18:22:10 +0800

Darksu gravatar image Darksu
1991 1 4

Hello ,

Please find below a working example:


<window xmlns="http://www.zkoss.org/2005/zul"
        viewModel="@id('vm') @init('sample.SessionTest')">
            <textbox value="@bind(sessionScope.name)"/>


package sample;

import org.zkoss.bind.annotation.AfterCompose;
import org.zkoss.bind.annotation.ContextParam;
import org.zkoss.bind.annotation.ContextType;
import org.zkoss.bind.annotation.Init;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Sessions;
import org.zkoss.zk.ui.select.Selectors;

import java.io.Serializable;

public class SessionTest implements Serializable {

    private static final long serialVersionUID = 1L;

    public void init() {
        Sessions.getCurrent().setAttribute("name", "test name");

    public void afterCompose(
            Component view) {
        Selectors.wireComponents(view, this, false);



Best Regards,


link publish delete flag offensive edit
Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

1 follower



Asked: 2015-07-31 09:38:45 +0800

Seen: 12 times

Last updated: Jul 31 '15

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More