Из документации на ndarray
с сигнатурой.
ndarray(shape, dtype, buffer, offset, strides, order)
blockquote>
- Если
buffer
- None , тогда используются только форма, dtype и порядок.- Если
buffer
является объектом, отображающим интерфейс буфера, тогда все ключевые слова интерпретируются.Кажется, что для первого примера, хотя
buffer
являетсяnp.array
целых чисел,ndarray
интерпретирует его как другой тип. Вы должны дать ему необязательный аргументdtype = int
, чтобы ndarray явно знал, что его элементы имеют тип integer.np.ndarray(shape = (2,1), dtype = int, buffer = np.array([1,2,3,4]))
Проблема, которую вы затрагиваете выше, вызвана тем фактом, что обработчик не может обработать вашу ссылку действия, поскольку он не может сгенерировать идентификатор для компонента ссылки. - означает, что ссылка на активированный компонент фактически отсутствует.
Оба ваших примера на самом деле не совсем верны. Однако со ссылкой, сгенерированной за пределами таблицы, обработчик представления каким-то образом может определить идентификатор для компонента и оказывается в нужном месте при выполнении действия.
Если мы посмотрим на то, что генерирует JSF Mojarra при вызове приведенного выше кода, мы увидим следующее:
Ссылки внутри таблицы получают ссылку на [111 ], но нет идентификатора, связанного с компонентом, поэтому ссылка не будет работать.
Ссылка вне таблицы получает ссылку на form:j_idt5
и генерируется идентификатор j_id1:javax.faces.ViewState:0
. Так что, хотя это действительно вызывает действие - корреляция link / id не совсем верна.
Так ясно, что рендерер может определить сгенерированный идентификатор для ссылки, но он никогда не устанавливает этот сгенерированный идентификатор на фактический компонент / тег. Это в некоторой степени проблема.
Решение в том, чтобы помочь JSF и обработчику представления выяснить путь к компоненту с действием. Вы можете сделать это, принудительно установив идентификатор при программной генерации ссылки на команду - внутри метода getTable()
добавьте следующий код:
inlink.setId("link");
Это должно позволить рендереру отображать действительную страницу с ссылки на рабочие действия.